【问题标题】:kendo ui angular 2 tree doesn't get updated after item is removed删除项目后,kendo ui angular 2 树不会更新
【发布时间】:2025-12-27 11:40:14
【问题描述】:

以下场景:我有一个剑道 ui 树,我动态添加和删除它的子级。

添加项目可以正常工作,但是当我删除一个孩子时,树不会刷新。

我已经检查过孩子的长度是否减少了。

你能检查一下这个plunkr吗:http://plnkr.co/edit/XYc5Zz?p=preview

我试过了,但它不起作用。

removeItem()
{
  let nodeRef = this.getNodeRef(false);
  alert(nodeRef.items.length);
  nodeRef.items = nodeRef.items.filter(item=> item !== this.selectedItem);
  alert(nodeRef.items.length);
  this.changeDetectionRef.detectChanges();
}

我希望你能帮助我解决这个问题。当然你可以告诉我其他动态修改剑道树的方法。

最好的问候

【问题讨论】:

标签: angular kendo-ui


【解决方案1】:

我认为问题在于您正在用新数组替换原始数组,而 kendo-treeview 仍然指的是以前的数组。 试试这个从数组中删除一个元素:

const found = nodeRef.items.find(item => item === this.selectedItem);
nodeRef.items.splice(nodeRef.items.indexOf(found), 1);

我希望它有所帮助,现在还为时不晚。

【讨论】: