我需要在删除节点的一个叶子后重新加载树。重新加载整个商店的问题是,它太慢了。这就是为什么我只想重新加载删除其叶子的节点。
我试过了..但它说空了......
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不是函数
第二次更新 -
这就是我的树的样子
第一个节点
第二节点
现在当我删除第二个节点的第一个叶子时......第一个节点出现在第二个节点
下第一个节点
第二节点
答案 0 :(得分:4)
以下是刷新树的特定节点的方法。在您的情况下,您可能希望刷新需要显示更改的父节点:
refreshRow:function(id){
var node = this.store.getNodeById(id);
if (node){
this.store.load({node:node});
}
}
<强>更新强>
根据您提供的信息,我的结论是您尝试使用特定服务器生成的ID在树中的多个位置填充相同的节点。树存储不支持此功能。即使节点信息的其余部分相同,每个节点也必须具有唯一的ID。