【发布时间】:2012-12-21 14:08:48
【问题描述】:
删除节点的一个叶子后,我需要重新加载树。重新加载整个商店的问题是,它太慢了。这就是为什么我只想重新加载一个删除其叶子的节点。
我试过这个..但它说空...
Ext.getCmp('myTree').root.reload();
我也试过
var tempParent = Ext.getCmp('myTree').getSelectionModel().getSelection()[0].parentNode;
Ext.StoreMgr.lookup('myStore').load( {node: tempParent});
这也无济于事... 有没有人解决过类似的问题?
更新
var node = Ext.getCmp('myTree').getSelectionModel().getSelection()[0].parentNode.get('id');
这确实给了我父节点... 但是当我加载它时
Ext.getCmp('myTree').store.load({ node: node });
我收到此错误
TypeError: b.getId 不是函数
第二次更新--
这就是我的树的样子
-
第一个节点
- 第一片叶子
-
第二个节点
- 第一片叶子
现在当我删除第二个节点的第一个叶子时...第一个节点出现在第二个节点下
-
第一个节点
- 第一片叶子
-
第二个节点
- 第一个节点
【问题讨论】:
-
树是否绑定到商店?您能否提供更多关于为什么需要重新加载父节点的信息? ExtJs 通常会正确处理此问题,而无需您执行任何操作。
-
谢谢Izhaki...我的树上有一个删除叶子功能...并且可以有多个相同的叶子(假设可以有2个'leaf1')...所以当我删除在“leaf1”上,只有选定的“leaf1”被删除。第二个“leaf1”仍在树上……但是当我手动刷新浏览器时,它就消失了
-
你不能只听节点删除吗?查找相关节点;并删除它们?
-
这正是我想要做的......找到相关节点......我似乎无法理解它......你能告诉我一些样本
-
我在下面更新了我的答案。
标签: tree extjs4 reload treenode