【问题标题】:SVG Pattern doesn't change fill colorSVG Pattern 不会改变填充颜色
【发布时间】:2020-10-07 17:20:31
【问题描述】:

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

<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>

【问题讨论】:

    标签: javascript vue.js svg svg-pattern


    【解决方案1】:

    在这里工作正常:

    new Vue({
        el: '#app',
        data: {
        	groupDetails: {
            	color: 'red'
            }
        }
    });
    label, input {
        cursor: pointer;
    }
    <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>

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 1970-01-01
      • 2022-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多