如何更新防暴标签的属性?

时间:2018-05-28 13:30:25

标签: riot.js

我创建了一个暴乱标记,它在循环中呈现了许多svg元素

<circle ref={ keyName } each={ point,keyName in opts.points } ></circle>

现在我有两个条件

  1. 更新特定代码
  2. 更新所有代码
  3. 要更新特定代码的属性,我正在使用this.refs[ someName ].setAttributes("cx", 30);

    要更新所有标签的属性,我应该在循环中使用上述方法吗?或者我应该更新opts.points并致电this.update()

1 个答案:

答案 0 :(得分:0)

您只需要更新列表opts.points,而riot.js会更改html,而无需您在评论时使用jQuery引用每个项目。

检查opts.lists是否正在更新,这可能是您的问题,但是您可以通过执行以下操作来解决此问题:

 <circle ref={ keyName } each={ point,keyName in this.points } ></circle>
 <script>
    this.points = opts.points // the parent component is providing a list

    someFunction() {
       this.points = ["something", "whatever", "another thing"]
       this.update()
    }
</script>