修改Ext.ux.GroupTabPanel让它支持延迟渲染
在Ext JS包示例目录的ux目录下有一个Ext.ux.GroupTabPanel组件,可实现左侧分组显示菜单。这个组件有个小问题,就是在第一次渲染的时候,会把所有标签页都渲染了。这对有很多标签页的应用程序很不利,第一渲染的时间成本太高。
在Ext.ux.GroupTabPanel内部是使用卡片(Card)布局来实现标签页的切换的,但是作者在定义卡片布局的时候,并没有设置为可以延迟渲染,而是使用了默认了非延迟渲染,因而,修改的基本思路就是改变布局的设置。
在GroupTabPanel.js文件的initComponent方法内,在items内定义两个一个树面板和一个容器,其中的容器就是用来显示标签页的,但它的布局定义如下:
把“deferredRender:false,”屏蔽掉,会在Firebug的HTML面板中看到下图所示的情况,现在只渲染了活动标签页,其他标签页还没渲染。