日期:2014-05-16  浏览次数:20599 次

extjs4 tabpanel 动态添加一个tab 后,无法再点击 tab 进行切换
今天新写了个extjs4 tabpanel,动态添加一个tab后,再点击别的tab,无法进行切换,这是什么原因?
var centerPage = Ext.create("Ext.tab.Panel", {
region : "center",
activeItem : 0,
frame : true,
id : "dataGrid",
name : "dataGrid",
width : 300,
height : 400,
activeTab : 1,
//plugins: Ext.create("Ext.ux.TabScrollerMenu", { 
    //    maxText: 15, 
    //    pageSize: 5 
    //}),
items : [ {
id : "systemtab1",
name : "systemtab1",
title : "系统介绍",
html : "<img src='images/getCAKS981W.jpg' style='height :  100%; width : 100%'></img>",
listeners: { activate: handleActivate }
}]
});

function addTab(id, text) {
var tabName = "tab_" + id;
var tab = centerPage.getComponent(tabName);
if (!tab) {
tab = centerPage.add({
id : tabName,
name : tabName,
title : text,
closable : true,
loader : {
url : "depart/default.action",
loadMask : "loading...",
autoLoad : true,
scripts : true
}
}).show();
} else {
centerPage.setActiveTab(tab);
}
}

如果去掉.show()方法,则可以进行点击切换,但是无法加载script语句,新增tab页上的方法不会执行
extsjs4 tabpanel 动态添加tab

------解决方案--------------------
EXTJS4
我也在项目里往Ext.tab.Panel里动态添加过tab
------解决方案--------------------
Ext.getCmp("Ext.tab.Panel的ID").add({
id: 
title:
...
})
直接这样加的 没有出现什么问题

或者 你可以跟踪到 beforeactivate: function (newTab, oldTab) 方法里面去 看看 是怎么回事...