Extjs中的容器与面板

时间:2014-04-04 08:52:19

标签: javascript html5 css3 extjs

我对Extjs有疑问

我已经阅读了关于Sencha doc的官方文档,但我对2种Component有些困惑。那就是Container和Panel。

Container和Panel有什么区别?在哪种情况下应该使用哪种?

非常感谢任何回答。

3 个答案:

答案 0 :(得分:20)

摘自documentation of Container

  

任何可能包含其他组件的Ext.Component的基类。   容器处理包含项目的基本行为,即   添加,插入和删除项目。

     

最常用的Container类是 Ext.panel.Panel ,   Ext.window.Window和Ext.tab.Panel。如果你不需要的话   您可以创建的上述类提供的功能   轻量级容器,由HTML元素封装到您的   使用autoEl配置选项的规范。

这意味着,Panel扩展了Container,这意味着它可以做更多的事情。例如,它有一个标题并支持dokedItems(即工具栏),可以关闭(比较两个组件的其他事件),而容器默认没有这样的东西。

一般的经验法则是:当您不需要面板的功能时,总是使用简单的容器,即当您只需要容纳其他孩子时。

答案 1 :(得分:8)

永远记住面板比容器重得多。因此只需要使用它。

答案 2 :(得分:0)

Andrei I 已经很好地解释了这个过程,而且还有一个documentation。在此文档中,Sencha团队详细说明了如何选择正确的类来扩展其中三个小部件:ComponentContainer& Panel

  

Which Class To Extend

     

选择要扩展的最佳课程主要是效率问题,   以及基类必须提供的功能。