容器也是由組件派生而來。
爲什麼我說每個應用都會用到容器呢?
因爲就連我們ST應用的頂層全局組件Ext.Viewport(每個應用的所有內容都包含在我們的Ext.Viewport這個全局容器下)也是由Container派生而來的。
在ST中有好幾個容器組件,如:panel,tabpanel,carousel,dataview,list,formpanel等!
各種容器作用都不一樣,這需要我們在熟悉各種容器後, 根據實際業務需求而選擇。
比如,頁面上讓你顯示一個數據列表,你不應該選先carousel而應該選擇list或者dataview
所謂容器就是它的內部可以包含一些其他組件的組件,它可以添加,刪除子組件或者可指定一個佈局去顯示子組件。
容器的創建
Ext.create("Ext.Panel",{html:'我是一個容器'});
你可以通過ST的一個靜態方法Ext.create來創建任何一個類,組件或容器。
你可以將上面代碼放在Code editor中,並預覽他!
你的結果應該會和我一樣,一片空白。呵呵.....
這是因爲,你只創建一個容器並未讓他顯示.
我們需要將它添加到全局的Viewport中或者全屏去顯示它
var panel=Ext.create("Ext.Panel",{html:'我是一個容器'});
Ext.Viewport.add(panel);
或者
Ext.create("Ext.Panel",{html:'我是一個容器',fullscreen:true});
你可以在我們的code editor中去測試他們。
容器還有添加組件的方法
如:
var panel=Ext.create("Ext.Panel",{html:'我是一個容器'});
Ext.Viewport.add(panel);
panel.add({xtype:'button',text:'我是一個按鈕'});
當然你還可以移除組件
如:
panel.removeAt(0);
還有一些容器組件的應用,我們將在後面的實例中一一介 紹,如dataview,list,formpanel,tabpanel......