7

ノードのリーフの 1 つを削除した後、ツリーをリロードする必要があります。ストア全体をリロードする問題は、遅すぎることです。そのため、リーフが削除されたノードをリロードしたいだけです。

私はこれを試しました..しかし、それは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 は関数ではありません

2 回目の更新 --

これが私のツリーの外観です

  • 1 番目のノード

    • 1枚目の葉
  • 2 番目のノード

    • 1枚目の葉

2 番目のノードの 1 番目のリーフを削除すると、1 番目のノードが 2 番目のノードの下に表示されます

  • 1 番目のノード

    • 1枚目の葉
  • 2 番目のノード

    • 1 番目のノード
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 に答える