0

ExtJS 4 を使用しています。ツリー パネルを次のように作成しました。

var treeStore = Ext.create('Ext.data.TreeStore', {
        root: {
            text:'Reports',
            expanded: true,
            children: [
                {
                    id: 'operationalNode',
                    text: 'Operational',
                    children: [{ text: "report1", leaf: true }]
                },
                {
                    id: 'managementNode',
                    text: 'Management',
                    children: [{ text: "report2", leaf: true }]
                },
                {
                    id: 'inventoryNode',
                    text: 'Inventory'
                }
            ]
        }
    });
var treePanel = Ext.create('Ext.tree.TreePanel',{
    animate:true,
    layout:'fit',
    height:400,
    store:treeStore
    });

今、「運用」の子を次のように取得したい

Ext.getCmp('operationalNode');

しかし、それは null を返します。

なぜそうなのですか?

そのノードを取得するにはどうすればよいですか?

名前でノードを取得する方法はありますか?

4

2 に答える 2

2

ノードは、ノード インターフェイスを持つ実際のモデルです。したがって、ツリーストアから getNodeById を使用する必要があります

var node = treeStore.getNodeById('operationalNode')

あなたのデータは、他のモデルと同じように node.data にあります

于 2012-06-14T11:25:24.487 に答える
0

次のようなものが必要になります。

Ext.getCmp('id-of-the-view').getView().getSelectionModel().getSelection()[0];
于 2012-06-14T11:22:19.933 に答える