所以我需要創建一個ExtJS組件(版本2.3.0)。該組件只是簡單的HTML(樣式) - 它是一個標題。創建純HTML的自定義ExtJS的最佳方法
我目前的做法如下:創建一個自定義組件:
/**
* A ExtJS component for a header for the application
*/
Ext.ux.AppHeader = Ext.extend(Ext.Component, {
height: 32,
tpl: new Ext.Template ('<div class="title-bar"><h1>My App</h1></div>'),
onRender: function(ct) {
this.el = this.tpl.append (ct);
Ext.ux.AppHeader.superclass.onRender.apply(this, arguments);
}
});
Ext.reg('AppHeader', Ext.ux.AppHeader);
這工作得很好,但我不認爲這是「正確」的方式去做。如果任何人都可以分享一種更習慣的方式來做到這一點,或者更好地利用ExtJS中的某些內在魔力,那將會很棒。
另一方面,如果這是「正確的」方法 - 讓我們來看看這個例子。
編輯
我肯定想很難用這一個。該方法我現在採取的是:
{
html: '<div class="title-bar"><h1>My App</h1></div>'
}
,並定義了「標題欄」 CSS有文字合適的款式/大小,ExtJS的做正確的事。
同意。特別是因爲它沒有定製或重用;只需在標記中將其編碼爲div,然後使用contentEl將其拉入Ext.Panel。 – 2009-12-15 06:23:18
同意。順便說一句:人們可以在階級層次中爬得更高,以獲得你描述的好處;容器是實現佈局的最輕量級的類。 – Upperstage 2009-12-15 19:29:34
容器專門*包含*其他組件,因此可以管理其子組件的佈局。 BoxComponent是最輕的類,可以通過Container進行管理,並且可以輕鬆地參與佈局(調整大小和位置)。全部取決於您正在創建的組件的性質。 – 2009-12-16 04:07:07