3

我的 View with Tabs 中有一个 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 回答
0

简短的回答:

myTabPanel.getComponent('someItemId');
于 2018-12-06T15:01:57.397 回答