我想用文本框中的值更新选定的节点文本。为此我有一个反应形式。我正在订阅元素的更改并更新节点的文本。这是我的代码:
get formControls() {
return this.formEditor.controls;
}
this.formControls.assetGroupNameControl.valueChanges.subscribe(value => {
let selectedNode = this.treeview.itemLookup(this.currentTreeIndex);
selectedNode.item.dataItem.text = value;
this.cd.detectChanges();
我需要更改树选择才能看到更改。有什么原因导致更改没有立即生效?
谢谢
为了立即看到更新,焦点必须返回到树。该树有 selectedKeys 数组。因此,如果索引为“0_1”的节点正在修改,则要执行的代码如下:
selectedKeys.push("0_1");
selectedKeys = [...selectedKeys];
需要第二行,因为树仅在数组的引用更改时对更改做出反应。