Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 按id或itemId获取选项卡面板的选项卡_Extjs_Extjs4 - Fatal编程技术网

Extjs 按id或itemId获取选项卡面板的选项卡

Extjs 按id或itemId获取选项卡面板的选项卡,extjs,extjs4,Extjs,Extjs4,我的视图中有一个带有选项卡的选项卡面板。如何获取此面板中选项卡的实例以及应将哪个属性设置为id或itemId 谢谢 openProjectMetaTab: function(project) { var tabPanel = this.getTab(); console.log(tabPanel); var mpItemId = 'project-metaTab-' + project.get('id') console.log('#'+mpItemId);

我的视图中有一个带有选项卡的选项卡面板。如何获取此面板中选项卡的实例以及应将哪个属性设置为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();
    }
}

我建议您使用
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();
    }
}

简短回答:

myTabPanel.getComponent('someItemId');

能否提供一些关于如何定义选项卡的代码<代码>Id仅应在开发应用程序时使用,或者当您知道应用程序中只有一个实例被创建时才应使用。谢谢!我试过了,但没用,我错在哪里?我在上面添加了我的代码。您给表单提供的是id,而不是嵌套在下面一层的实际选项卡面板。如何给选项卡面板提供id?参见我的示例,您可能无法将其嵌套在第一位置,但您的代码与我的代码相同,不是吗?