我看到很多线程都在谈论使用 getNodeById 或 getRootNode 方法和 appendChild 方法向 TreePanel 添加动态节点。
由于某种原因,我无法做到。我不知道我做错了什么,或者这是否与 Ext JS 3.4 有关。
有人能告诉我这是否正确吗?
{
xtype: 'treepanel',
id: 'testTreePanel',
autoScroll: true,
width: 250,
collapsible: true,
title: 'Navigation',
containerScroll: true,
enableDD: true,
useArrows: true,
collapsible: true,
region: 'west',
root: {
allowDrag: false,
allowDrop: false,
iconCls: 'cover',
id: 'testRootNode',
text: 'Root Node'
},
loader: {
}
}
这是我正在做的动态添加节点的操作 -
var testNode = new Ext.tree.TreeNode({
id: 'node_1',
leaf: true,
text: 'Test Node Text 1',
allowDrag: false,
allowDrop: false
});
Ext.getCmp('testTreePanel').getRootNode().appendChild(testNode);
我看到节点已添加到根目录下,如果我这样做 -
Ext.getCmp('testTreePanel').getRootNode().childNodes
但我也注意到root
has allowChildren: false
, loaded: false
, loading: true
andchildrenRendered: false
我见过的所有线程都说 appendChild 应该可以解决问题。我不确定我是否在这里遗漏了什么。