关于EXTjs4.1中tab关闭之后再打开的问题
页面布局是,左边:是treePanel菜单栏;中间:tabPanel,在tabPanel中嵌入chart图形。
现在遇到了个问题:当我关闭一个tab之后,再次点击treePanel中的节点让tab在中间再次显示出来的时候,tab不能显示并且连页面都没有了。
错误提示:在extall.js中,
Uncaught TypeError: Cannot read property 'addCls' of null
tabPanel 代码片段如下:
if(!landInfoNodeId){
var landInfoTab= MainPanel.add({
title:record.raw.text,
id:record.raw.id,
closable:true,
items:columnChart,
layout: 'fit',
});
MainPanel.setActiveTab(landInfoTab);
请各位大虾帮忙看看,我个人觉得是参数或者是remove Tab的时候没有控制。
但是我不知道我定位的是否正确,还有就是如果我定位正确的话,不知道怎么写这样控制的代码。。。
非常感谢。
------解决方案--------------------关闭tab的时候要释放,否则资源还在存
------解决方案--------------------我也遇到了,怎么办啊啊啊
------解决方案--------------------closable:true, 这个属性导致的 关闭的时候调用hide()方法
closable:true你看下API 实际上他只是隐藏了 还是存在的
我一般对于window这样的 设置它的autoShow:true。需要显示就创建个Ext.widget("").不用就直接close
可能这种方式也不是很好 我也是初学者 希望高人指点
------解决方案--------------------extjs tab 新增面板 如何显示在第一个位置???
------解决方案--------------------Ext.getCmp('tab').getActiveTab().items.destroy();
------解决方案--------------------remove Tab的时候,要确保完全的移除了,不然,还有残留的话,当然就显示不全了。
还有一种方法就是隐藏下,再点击时,就再显示下就好了。
两种方法各有优缺点,第一种不会占用内存资源,但影响效率,第二种会占用内存资源,但效率高点。
------解决方案--------------------定位是对的,tabpanel对象没有销毁,关闭的时候需要对象销毁掉,如果你是add的话。
建议打开页面的时候show,而不是add
------解决方案--------------------楼主,后来你的问题解决了没?
解决了的话,交流下