ExtJS 动态加载的tabpanel组件关闭后再打开,tabpanel能正常显示而其包含的formpanel子组件没有显示出来
各位老师,你们好。我是一位ExtJS初学者。最近做了一个小程序,遇到一个难题。这个程序主要是一个viewport组件,border布局,分成四个部分,分别是north、w...
各位老师,你们好。我是一位ExtJS初学者。最近做了一个小程序,遇到一个难题。这个程序主要是一个viewport组件,border布局,分成四个部分,分别是north、west、south和center。其中左边west部分包含treepanel组件,是一导航栏,当点击这个treepanel组件中的某个子结点时,在右边center部分动态加载一个tab页,且这个tab页又包含一个formpanel子组件。现在的问题是:当第一次点击左边west部分的导航栏中的某个子结点时,右边center部分能够正确显示一个tabl页和其包含的formpanel组件。但当关闭tab页后再打开这个tab页时,就只能显示tab页,而其包含的formpanel却不见踪影,并且报错:'dom'为空或不是对象。程序代码如下:
function addTabPage(node,id){ //node:点击的子结点的引用;id:动态加载的tab页的id
var tb = Ext.getCmp('centerArea_TabPanel');
if (tb) {
var tp = Ext.getCmp(id);
if (!tp) {
var newTabPage = tb.add({
id:id,
title:node.text,
titleAlign:'left',
closable:true,
tabConfig:{
tooltip:'这是' + node.text + '面板。',
iconCls:node.iconCls
}
});
newTabPage.add(changePasswordWin).show(); //changePasswordWin:formpanel子组件
tb.setActiveTab(newTabPage);
}else{
Ext.Msg.show({
title:'提示',
msg:'"' + node.text + '"' + '页面已经存在,请不要重复创建!',
modal:true,
icon:Ext.Msg.INFO,
buttons:Ext.Msg.OK
});
tp.show();
};
};
};
这个问题困扰了我很长时间,至今未解决。期间,我上网查了下,很多解决办法,如设置:autoDestroy:false、closeAction:'hide'等等,我都试过,都行不通,问题依然存在。希望哪位老师在百忙中抽出一点时间帮助我解决这个难题,我不胜感激。 展开
function addTabPage(node,id){ //node:点击的子结点的引用;id:动态加载的tab页的id
var tb = Ext.getCmp('centerArea_TabPanel');
if (tb) {
var tp = Ext.getCmp(id);
if (!tp) {
var newTabPage = tb.add({
id:id,
title:node.text,
titleAlign:'left',
closable:true,
tabConfig:{
tooltip:'这是' + node.text + '面板。',
iconCls:node.iconCls
}
});
newTabPage.add(changePasswordWin).show(); //changePasswordWin:formpanel子组件
tb.setActiveTab(newTabPage);
}else{
Ext.Msg.show({
title:'提示',
msg:'"' + node.text + '"' + '页面已经存在,请不要重复创建!',
modal:true,
icon:Ext.Msg.INFO,
buttons:Ext.Msg.OK
});
tp.show();
};
};
};
这个问题困扰了我很长时间,至今未解决。期间,我上网查了下,很多解决办法,如设置:autoDestroy:false、closeAction:'hide'等等,我都试过,都行不通,问题依然存在。希望哪位老师在百忙中抽出一点时间帮助我解决这个难题,我不胜感激。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询