7

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

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

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

第二次更新——

这就是我的树的样子

  • 第一个节点

    • 第一片叶子
  • 第二节点

    • 第一片叶子

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

  • 第一个节点

    • 第一片叶子
  • 第二节点

    • 第一个节点
4

1 回答 1

6

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

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

更新

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

于 2013-01-09T00:40:08.157 回答