Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 使用按钮将节点添加到树面板。新手怎么做?_Extjs_Sencha Architect - Fatal编程技术网

Extjs 使用按钮将节点添加到树面板。新手怎么做?

Extjs 使用按钮将节点添加到树面板。新手怎么做?,extjs,sencha-architect,Extjs,Sencha Architect,我有一个按钮,我把点击事件 我还有一个加载了静态JSON的树面板 TreePanel的ItemID为projectTree 在我的按钮点击事件中,我有: var treeNode = projectTree.getRootNode(); treeNode.expandChildren(true); // Optional: To see what happens treeNode.appendChild({ name: 'Child 4', leaf: true,

我有一个按钮,我把点击事件

我还有一个加载了静态JSON的树面板

TreePanel的ItemID为projectTree

在我的按钮点击事件中,我有:

var treeNode = projectTree.getRootNode();
treeNode.expandChildren(true); // Optional: To see what happens
treeNode.appendChild({
        name: 'Child 4',
        leaf: true,
        element : 6
});
treeNode.getChildAt(2).getChildAt(0).appendChild({
        name: 'Grand Child 3',
        leaf: true,
        element: 7
});
它不添加节点。我做错了什么

已编辑
您需要首先引用树面板,不能仅使用作为引用。有很多方法可以做到这一点,最简单的方法是使用:

这是假设您只有一个具有该itemID的组件,如果没有,最好使用,这也是我首选的方法。例如,如果您的TreePanel位于itemID为“TreePanelContainer”的容器中:

更新:


是否有必要使用
nextSibling
?为什么不使用
childNodes[1]

treeNode.childNodes[1].appendChild({
小提琴:


也可能我错了,但是我检查了文档,没有TreeNode的
元素
配置。也许你使用的是odler版本代码。尝试Sencha页面中的官方文档。

变量
projectTree
在哪里/如何定义?有什么错误吗?你使用的是什么版本的ExtJS?我只使用unique ID,假设这是最好的,但我编辑了我的代码,上面的添加现在很好。但是底部的附加不起作用。您使用的是什么版本的ExtJs?我在文档中没有看到TreeNode的
元素
配置。还有一个提琴示例:是否有必要使用
nextSibling
?为什么不使用
childNodes[1]
?小提琴:
var projectTree = Ext.getCmp('projectTree');
var projectTree = Ext.ComponentQuery.query('#TreePanelContainer > #TreePanel');
treeNode.childNodes[1].appendChild({