扩展组件之定义自己的组件模板

时间:2021-05-14 05:29:04

    ExtJs为我们提供了丰富的组件,但其复杂的配置项也常常使我们很头疼,某个组件例如combox在一个系统中很多地方都会用到,但是一些配置项很多地方都是相同的,但是在每个地方都得配置,我们就想是不是要在这个组件的基础上定义一个自己的系统中通用的组件模板呢,答案是肯定的,ExtJs为我们提供了极强的扩展性,下面切入正题:

   例如combox:

   Ext.ns("Ext.ux.form")

Ext.ux.form.ComboBoxTemplate = function(config) {
Ext.ux.form.ComboBoxTemplate.superclass.constructor.call(this, config);
}
Ext.extend(Ext.ux.form.ComboBoxTemplate, Ext.form.ComboBox, {
initComponent : function() {
this.typeAhead=true,
this.triggerAction='all',
this.mode='local'
}
}); 

     这是我定义的一个模板,我们在新建comobox的时候就可以这样写了:

  var comb= new Ext.ux.form.ComboBoxTemplate {()};

这样这个combox就继承了我模板里面的一些定义默认值了,当然我们还可以添加自己的事件,在这里面实现自己的一些扩展的方法。