extjs菜鸟,我的tabpanel新增tab第一次可以正常显示,再次请求就什么都没有了呢?
我想通过点击一个树形节点,在我的tabpanel中生成一个新的tab,然后显示它,这一步可以实现可是关闭后再次点击同一个节点之后,新生成的tab就只能显示一个标题,里面的内容就没有了,不知道为什么
这是我的树在文件main.js中
var mainTab = new Ext.TabPanel({
region : 'center',
items : {
title : '系统介绍',
html : '<div style="position:absolute;top:60;left:120;"></div>'
}
});
mainTab.activate(0);
function createTree(treeId)
{
……
tree.on("click", function(node, e) {
if(!mainTab.items.containsKey(node.id))
{
var tab = mainTab.add({
id : node.id,
title : node.text,
closable : true,
layout : 'fit',
items : [flight_panel]//是测试代码,让所有的树形节点生成一样的tab内容
}).show();
}
else
{
mainTab.items.item(node.id).show();
}
});
Ext.onReady(function() {……});
这是包含变量flight_panel的fligh.js文件
……
var flight_panel =new Ext.Panel( {
id : 'flight_panel',
border : false,
layout : 'border',
items : [grid]//flight_panel里面是内容的,就是这个内容,在第一次点击一个树形节点时是会出现的,第二次点击就不出现了
});
[最优解释]
var flight_panel =new Ext.Panel( {
//id : 'flight_panel', //把这句去掉试试。
border : false,
layout : 'border',
items : [grid]//flight_panel里面是内容的,就是这个内容,在第一次点击一个树形节点时是会出现的,第二次点击就不出现了
});
{
if(!mainTab.items.containsKey(node.id))
{ var tab = mainTab.add({
id : node.id,
title : node.text,
closable : true,layout : 'fit', items : [Ext.getCmp("flight_panel_"+node.id)]/**这里要注意()中的是extjs组件的id值,tabpanel增加的tab,他们的id值不可以一样,否则的话,只有激活的tab能显示该组件,其他tab就不能显示这个组件了**/
});
tab.doLayout() ;
mainTab.activate(tab);
}
else
{
mainTab.items.item(node.id).show();
}
}
});
注意这里的("flight_panel_"+node.id对应的是我的系统中包含在其他js文件中的ext组件的id值
[其他解释]
楼主能给发个源代码么???
[其他解释]
问题解决 谢谢楼主
[其他解释]
能给个代码学习一下吗?正在起步中...