首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVG图案不会更改填充颜色

SVG图案不会更改填充颜色
EN

Stack Overflow用户
提问于 2020-06-18 03:11:11
回答 1查看 93关注 0票数 0

我正在使用Vue.js,并且我正在创建使用形状模式作为背景的SVG。图案工作得很好,但每当我试图通过道具动态改变图案填充的颜色时,它就不起作用了。我确信我传递的道具是正确的,因为我在其他地方使用它。

代码语言:javascript
复制
<pattern
    id="TrianglePattern"
    patternUnits="userSpaceOnUse"
    x="0"
    y="0"
    width="1500"
    height="1500"
    viewBox="0 0 10 10">
  <path
      d="M 0 0 L 7 0 L 3.5 7 z"
      :fill="groupDetails.color ? groupDetails.color : '#ffffff'"
      stroke="blue" />
</pattern>
EN

回答 1

Stack Overflow用户

发布于 2020-06-18 05:05:42

在这里运行得很好:

代码语言:javascript
复制
new Vue({
    el: '#app',
    data: {
    	groupDetails: {
        	color: 'red'
        }
    }
});
代码语言:javascript
复制
label, input {
    cursor: pointer;
}
代码语言:javascript
复制
<script src="//unpkg.com/vue@2"></script>

<main id="app">
    <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100">
        <pattern id="TrianglePattern"
                 patternUnits="userSpaceOnUse"
                 x="0" y="0" width="150" height="150"
                 viewBox="0 0 10 10">
            <path d="M 0 0 L 7 0 L 3.5 7 z"
                  :fill="groupDetails.color ? groupDetails.color : '#ffffff'"
                  stroke="blue" />
        </pattern>

        <path d="M100,10 a90,40 0 1,0 .1,0 z" fill="url(#TrianglePattern)" stroke="black" />
    </svg>

    <div>
        <label><input type="radio" v-model="groupDetails.color" value="red"/>   Red</label>
        <label><input type="radio" v-model="groupDetails.color" value="green"/> Green</label>
        <label><input type="radio" v-model="groupDetails.color" value="blue"/>  Blue</label>
        <label><input type="radio" v-model="groupDetails.color" value="yellow"/> Yellow</label>
    </div>
</main>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62436632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档