3

タブ付きのビューに TabPanel があります。このパネルでタブのインスタンスを取得するにはどうすればよいですか? また、どのプロパティを id または itemId に設定する必要がありますか?

ありがとう

openProjectMetaTab: function(project) {
    var tabPanel = this.getTab();
    console.log(tabPanel);
    var mpItemId = 'project-metaTab-' + project.get('id')
    console.log('#'+mpItemId);
    var metaPanel = tabPanel.getComponent(mpItemId);
    console.log(metaPanel);
    if(!metaPanel) {
        tabPanel.add({
            title: project.get('title'),
            closable: true,
            items: [
                {
                    xtype: 'projectMetaForm',
                    itemId: mpItemId,
                },
            ],
        }).show();
    }
}
4

2 に答える 2

2

itemIdグローバルIDプロパティの競合を心配する必要がないため、使用することをお勧めします。ドキュメントごと:

「itemId はコンテナーの内部 MixedCollection へのインデックスであるため、itemId はコンテナーにローカルに適用されます」

その後、 を使用Ext.container.Container.getComponentしてタブを取得できます。

ポスターの更新された質問の例を次に示します。

openProjectMetaTab: function(project) {
    var tabPanel = this.getTab();
    console.log(tabPanel);
    var mpItemId = 'project-metaTab-' + project.get('id')
    console.log('#'+mpItemId);
    var metaPanel = tabPanel.getComponent(mpItemId);
    console.log(metaPanel);
    if(!metaPanel) {
        tabPanel.add({
            title: project.get('title'),
            closable: true,
            xtype: 'projectMetaForm',
            itemId: mpItemId
        }).show();
    }
}
于 2013-03-01T14:12:33.957 に答える