Activerecord 制表符赢得';ExtJS中的t开关

Activerecord 制表符赢得';ExtJS中的t开关,activerecord,extjs,tabs,extjs4.1,Activerecord,Extjs,Tabs,Extjs4.1,我正在运行ExtJS 4.1,下面定义了一个选项卡开启器: var tabs = (typeof tabs != 'undefined') ? tabs : this.getMainTabs(); tabs = (typeof tabs == 'string') ? Ext.getCmp(tabs) : tabs; var have_record = (typeof record != 'undefined' && record != ''); var id = have_

我正在运行ExtJS 4.1,下面定义了一个选项卡开启器:

var tabs =   (typeof tabs != 'undefined') ? tabs : this.getMainTabs();
tabs = (typeof tabs == 'string') ? Ext.getCmp(tabs) : tabs;
var have_record = (typeof record != 'undefined' && record != '');

var id = have_record ? record.id : 'new';
var tab_id = 'tab-' + xtypeString + '-' + id;
var checkTab=Ext.getCmp(tab_id);

if(checkTab){
    tabs.setActiveTab(checkTab);
} else {
    var default_params = {xtype: xtypeString, closable : true, id : tab_id};
    var override_params = (typeof params != 'undefined') ? params : {};
    params = Ext.merge(default_params, override_params);

    var checkTab = tabs.add(params);
    tabs.setActiveTab(checkTab);
    (have_record) ? checkTab.setRecord(record) : checkTab.setRecord();
}
return checkTab;
我们创建了一个初始选项卡(选项卡a),然后返回主屏幕创建第二个选项卡(选项卡b)。现在,当我去点击选项卡a时,什么也没发生。当我返回主屏幕,然后单击选项卡a时,它会打开选项卡b

有人想过为什么会发生这种情况吗?(如果您需要更多数据,请告诉我……尽管我在下面做的事情似乎不言自明,但这可能是因为我一直在关注这个问题)

这是我们正在创建的带有xtype的选项卡

{
   xtype: 'tabpanel',
   region: 'center',
   id: 'searchtabs',
   itemId: 'searchtabs',
   listeners: {
       tabchange: {
           fn: me.onSearchtabsTabChange,
           scope: me
       }
    }
 }

xtype定义可能有问题,您是在设置
id
还是
itemId


还要注意,使用相同的
id
创建多个组件可能会在以后导致许多问题。如果要创建一个组件的多个实例,请确保在创建时指定不同的
id
——不要在xtype定义中给出一个实例。

这很可能是选项卡本身的定义问题。您能否提供与
xtypeString
中的任何内容对应的代码?因此,如果
xtypeString
可能是
MyTab
,您能否显示
MyTab
的代码。这是我创建的xtype。看起来我在其中一个项目上设置了itemId,而它应该是id。。。现在问题解决了@Izhaki您是否想在回复中提及xtypestring的事情,我将给予您信任。是在我创建的xtype上导致了问题。