如何覆盖ExtJS组件的方法?

时间:2013-12-18 11:43:15

标签: extjs4

在使用ExtJS时,有时我需要覆盖组件的方法。

例如,createPicker中有一种方法Ext.form.field.ComboBox。我想为该方法编写自己的逻辑。我能怎么做? Ext.override在这里有用吗?因为我从不使用它。

1 个答案:

答案 0 :(得分:3)

使用define语句。这使您能够将其挂钩到类系统中,因此可能需要:

Ext.define('MyOverrideName', {
    override: 'Ext.form.field.ComboBox',

    createPicker: function() {
        console.log('I am an override!');
        // Will call Ext.form.field.ComboBox.createPicker, the thing we're overriding
        // this.callParent(); 
        // Will call Ext.form.field.Picker.createPicker, the superclass of combo
        // this.callSuper();
    }

});