Extjs 按id或itemId获取选项卡面板的选项卡
我的视图中有一个带有选项卡的选项卡面板。如何获取此面板中选项卡的实例以及应将哪个属性设置为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);
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?参见我的示例,您可能无法将其嵌套在第一位置,但您的代码与我的代码相同,不是吗?