如何重新加载树的选定节点



我需要在删除节点的一个叶子后重新加载树。重新加载整个存储的问题是,它太慢了。这就是为什么我只想重新加载一个节点,它的叶子被删除了。

我试过这个…但是它显示null…

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不是一个函数

第二更新——

这是我的树的样子

  • 1号节点
    • 1叶
  • 第二节点
    • 1叶

现在当我删除第二个节点的第一个叶子…第一个节点出现在第二个节点下面

  • 1号节点
    • 1叶
  • 第二节点
      <
    • 1号节点/gh>

下面是如何刷新树的特定节点。在您的情况下,您可能希望刷新需要在其下显示更改的父节点:

   refreshRow:function(id){
        var node = this.store.getNodeById(id);
        if (node){
            this.store.load({node:node});
        }
     }

根据您提供的信息,我的结论是您正在尝试在Tree中的几个位置使用特定服务器生成的ID填充相同的Node。树存储不支持此功能。即使node的其余信息相同,每个节点也必须具有唯一的ID。

最新更新