gpt4 book ai didi

javascript - Extjs:如何更改树节点属性?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:00 24 4
gpt4 key购买 nike

如何更改树节点的属性?

一个树节点有如下属性:

{"id":"75",
"description":"My Tree Node",
"status":"25"
"uiProvider":"col",
"leaf":true}

现在我的脚本接收到以下数据

{
"id":"75",
"status":"100",
"cls":"done"
}

我尝试更新属性(UPDATED):

// a.result.data has the new data and taskID is the node's id
for (var property in a.result.data)
{
tree.getNodeById(taskID).attributes[property] = a.result.data[property];
}

但是,树不会更新。

如何让树显示变化?我需要节点更改现有属性并添加新属性。

感谢您的帮助!

最佳答案

来自extjs forums :

function refreshNodeColumns(n)
{
var t = n.getOwnerTree();
var a = n.attributes;
var cols = t.columns;
var el = n.ui.getEl().firstChild; // <div class="x-tree-el">
var cells = el.childNodes;

//<div class="x-tree-col"><div class="x-tree-col-text">

for(var i = 1, len = cols.length; i < len; i++)
{
var d = cols[i].dataIndex;
var v = (a[d]!=null)? a[d] : '';
if (cols[i].renderer) v = cols[i].renderer(v);
cells[i].firstChild.innerHTML = v;
}
}

如果您在更新循环之后调用它应该可以工作。

关于javascript - Extjs:如何更改树节点属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1533406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com