0
在使用ExtJS時,有時我需要重寫組件的方法。如何覆蓋ExtJS組件的方法?
例如,在Ext.form.field.ComboBox
中有一種方法createPicker
。我想爲該方法編寫我自己的邏輯。我能怎麼做? Ext.override
在這裏有用嗎?因爲我從不使用它。
在使用ExtJS時,有時我需要重寫組件的方法。如何覆蓋ExtJS組件的方法?
例如,在Ext.form.field.ComboBox
中有一種方法createPicker
。我想爲該方法編寫我自己的邏輯。我能怎麼做? Ext.override
在這裏有用嗎?因爲我從不使用它。
使用定義語句。這給你能夠把它掛接到系統級的優勢,因此它可以被要求:
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();
}
});
嗨.. @Evan Trimboli感謝..我使用的擴展關鍵字做同樣的,而不是在你重寫例。那有什麼不同嗎? –
是的。 'extend'創建一個全新的班級。 'override'直接在類上改變方法。 –
我總是使用它:'Ext.override(Ext.form.field.Combobox,{'這只是另一種方法來做你以上顯示的東西? – forgivenson