Как обновить свойства бунтовых тегов? - PullRequest
0 голосов
/ 28 мая 2018

Я создал мятежный тег, который отображает множество элементов SVG в цикле

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

Теперь у меня есть два условия

  1. Обновление определенного тега
  2. Обновить все теги

Чтобы обновить свойства определенного тега, я использую this.refs[ someName ].setAttributes("cx", 30);

Для обновления свойств всех тегов я должен использовать вышеуказанный подход в цикле?или я должен обновить opts.points и позвонить this.update().

1 Ответ

0 голосов
/ 26 июля 2019

Вам нужно только обновить свой список 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>
...