2014-04-04 28 views
10

我有一個關於ExtJS的集裝箱VS面板中的ExtJS

我已經閱讀煎茶文檔的正式文件,但我有一些混淆2種組件。那的容器和麪板的問題。

Container和Panel有什麼不同?在哪種情況下應該使用哪個?

任何答案都非常感謝。從documentation of Container

回答

17

摘錄:

了可包含其它組件的任何Ext.Component基類。 容器處理包含項目的基本行爲,即 添加,插入和刪除項目。

最常用的Container類是Ext.panel.Panel, Ext.window.Window和Ext.tab.Panel。如果您不需要上述類提供的 功能,則可以使用autoEl config選項創建一個由HTML元素封裝到 規範的輕量級容器。

這意味着,Panel擴展了Container,這意味着它可以做更多的事情。例如,它有一個頭文件並支持dokedItems(即工具欄),可以關閉(也可以比較兩個組件的其他事件),而容器默認沒有這種東西。

一般的經驗法則是:當您不需要面板的功能時,即在您只需託管其他孩子時,始終使用簡單的容器。

7

請務必記住面板比容器重得多。因此只需要使用它。

0

Andrei I已經很好的解釋了這個過程,這裏還有一個documentation。在這篇文檔中,Sencha團隊詳細說明了如何爲這些小部件中的三個選擇正確的類:Component,Container & Panel

Which Class To Extend

選擇最佳類來擴展主要是效率, 和功能的基類必須提供的問題。