我在带有标签的视图中有一个TabPanel。如何在此Panel中获取Tab的实例以及应将哪个属性设置为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();
}
}
答案 0 :(得分: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();
}
}
答案 1 :(得分:0)
简短答案:
myTabPanel.getComponent('someItemId');