所以我需要创建一个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