ExtJS 4 - 渲染最初隐藏的组件

时间:2011-12-01 14:54:46

标签: layout extjs extjs4 hidden

我注意到ExtJS 3.x和4.x之间的一个主要区别是如何处理渲染/布局计算,这些组件在包含display:none的内容中呈现(不是Ext创建/监视的包含元素)。在3.x中,在显示包含元素时,它包含的Ext组件将被正确渲染并调整为我为其设置的任何尺寸。

但是,在4.x中,同一个组件根本不显示,并且在显示其包含元素时高度和宽度为零。如果我对.setSize()进行调用后可见,则会正确显示。问题是,在我的应用程序中,没有办法能够查看可能导致隐藏组件显示的所有事件,并添加代码以确保手动强制重新计算其布局。

所以我的问题是,有没有办法在4.x中全面了解3.x在所有组件中的行为?

1 个答案:

答案 0 :(得分:0)

您可以尝试做的是在组件上设置delegate到底层DOM元素的侦听器,这可能会解决您的问题。 但是我的建议是尽可能使用框架来管理整个页面布局使用Viewport。您仍然可以使用HTML(如果必须)并在容器或面板中进行渲染。这里的完美用例是Header和Footer,它们由服务器端代码(jsp,gsp,asp ..)生成,然后使用contentEl : 'myDivId'配置显示在Viewport的North或South区域。