Javascript EXTJS-如何在tabpanel中导航选项卡时使DOM更轻?

Javascript EXTJS-如何在tabpanel中导航选项卡时使DOM更轻?,javascript,dom,extjs,extjs4.1,extjs-mvc,Javascript,Dom,Extjs,Extjs4.1,Extjs Mvc,我有一个extjs>4应用程序,它使用tabpanels作为菜单。每个选项卡下都有内容(包括容器等的视图) 我注意到extjs正确地处理DOM,并没有呈现我的应用程序所拥有的一切。它只渲染活动选项卡 比如说 Ext.query('*').length = 805 //tab1 Ext.query('*').length = 1052 //tab2 Ext.query('*').length = 900 //tab3 我能看到这一点,因为我保持状态。因此

我有一个extjs>4应用程序,它使用tabpanels作为菜单。每个选项卡下都有内容(包括容器等的视图)

我注意到extjs正确地处理DOM,并没有呈现我的应用程序所拥有的一切。它只渲染活动选项卡

比如说

       Ext.query('*').length = 805 //tab1
       Ext.query('*').length = 1052 //tab2
       Ext.query('*').length = 900 //tab3
我能看到这一点,因为我保持状态。因此,在我刷新页面后,最后一个激活的选项卡被激活。 然而,在我浏览选项卡之后,DOM变得更重了。Ext.query('*')变为

这是我的问题

在选项卡中导航时,如何使DOM更轻

最好的解决方案是保持启动状态。例如,当激活tab1时,仅保留与tab1相关的人员;当激活tab2时,仅保留与tab2相关的人员,等等,就像我刷新页面时一样

首先,你需要。它默认为true,只是验证您没有更改它

然后,您可以查看如何保持选项卡面板的状态(activeTab)


这应该会有帮助,因为还原状态是在呈现选项卡面板及其选项卡之前运行的,因此与deferredRender一起,应该只呈现活动选项卡。

我已经保留了选项卡面板的状态。问题是dom在呈现内容时在选项卡中导航时会变得更重。如果只加载已激活选项卡的内容,而忘记之前在另一个选项卡上已激活的所有内容,这将是一件好事。如果您没有遇到性能问题,我将不会再处理这些内容。如果您确实需要,您可以在停用时销毁非活动选项卡的项目,并在激活时重新创建它们,但是,这可能会比单独切换选项卡带来更多的性能问题。瓶颈总是DOM操作、插入、移除、移动和调整元素大小。
      Ext.query('*').length = 5500//example