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

Eag*_*Fox 7 tree treenode reload extjs4

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

我试过这个..但它说空了......

Ext.getCmp('myTree').root.reload();
Run Code Online (Sandbox Code Playgroud)

我也试过了

var tempParent = Ext.getCmp('myTree').getSelectionModel().getSelection()[0].parentNode;
Ext.StoreMgr.lookup('myStore').load( {node: tempParent});
Run Code Online (Sandbox Code Playgroud)

这也没有帮助......有没有人有类似的问题已经解决了?

更新

var node = Ext.getCmp('myTree').getSelectionModel().getSelection()[0].parentNode.get('id');
Run Code Online (Sandbox Code Playgroud)

这确实给了我父节点......但是当我加载它时

Ext.getCmp('myTree').store.load({ node: node });
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

TypeError:b.getId不是函数

第二次更新 -

这就是我树的样子

  • 第一节点

    • 第一叶
  • 第二节点

    • 第一叶

现在,当我删除第二个节点的第一个叶子时......第一个节点出现在第二个节点下

  • 第一节点

    • 第一叶
  • 第二节点

    • 第一节点

dbr*_*rin 5

这是刷新树的特定节点的方法。在您的情况下,您可能需要刷新父节点,在该父节点下需要显示更改:

   refreshRow:function(id){
        var node = this.store.getNodeById(id);
        if (node){
            this.store.load({node:node});
        }
     }
Run Code Online (Sandbox Code Playgroud)

更新资料

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