问题描述
我是vuejs和vuetify的初学者,我尝试在树视图中添加和删除节点。
当我执行.push(item)时,树视图会更新,但是当我从数组中删除一个项目时,树视图将不会更新。
这是我的代码示例
我的树状视图
<div class="sub-container">
<div class="spinner">
<mat-progress-spinner mode="indeterminate" diameter="75" strokeWidth="5">
</mat-progress-spinner>
</div>
</div>
formatedItems在这样的数据中声明:
<v-treeview
[...]
:items="formatedItems"
item-key="slug"
[...]
>
[...]
</v-treeview>
此代码正确在我的树形视图中添加了一个孩子:
data: () => ({
[...]
formatedItems: [{
id: 0,slug: null,name: i18n.t(****),children: []
}]
[...]
}),
另一方面,此代码从我的数组中删除了该项目,但没有更新树视图:
this.formatedItems[0].children.push({
id: element.id,slug: element.slug,name: element.name,children: []
});
我不知道要尝试什么,这就是为什么我来问你一个问题:
_.remove(this.formatedItems[0].children,function(n) {
return n.slug == element.slug;
});
this.formatedItems = this.formatedItems; // I tried this to trigger a potential magical update of vuejs but nothing...
是一个内置函数,并且知道我使用lodash函数进行删除,关于使用vuejs导致树形视图无法更新的事情,我是否不了解?
谢谢您的关注
解决方法
在其他地方看起来像问题。我已经尝试了一个基本示例,并且一切正常。 除了我使用过滤器方法进行删除。 codepen.io/DavidGolodetsky/pen/eYZMbgm