как заменить элемент в массиве чтобы перерендерились зависимые ноды?
есть рутовый компонент List, у него есть массив items, по ивенту приходит измененный item - я удаляю старый типа this.items = this.items.filter((i) => { return i.id != updated_item.id })
но на странице элемент не исчезает… или если я делаю полную перезапись items, this.items = [], this.items = this.fetchItems(), перерендеривается но vue ругается на duplicated keys - возможно не удаляются старые ноды а только новые сверху докидываются (?)
пробовал item.splice() - тоже самое…
splice Должен отрабатывать. В vue dev tools изменяется массив?
если кому-то интересно, нашел проблему… другой разработчик в дочернем элементе сделал гениальное: mounted() { this.subitems = this.item.subitems.sort(this.sortByOldestFirst) }, перенес в computed, все стало обновляться как надо Похоже (?) что Vue не перерендеривает (не перемаунтит?) дочерний элемент если пропсы меняются вобщем в любом случае это был старнный кусок кода
Обсуждают сегодня