在 EXTJS 中如何在扩展组件中覆盖/创建属性?
我通常创建函数。
checked: function() {
return this.CKB_Modifier.checked;
},
我建议在定义类时使用
config
属性添加自定义属性。优点是getter和setter函数是由框架自动生成的。您可以在下面的代码示例中看到自动生成的 getter 和 setter 的名称。
看看这个,你可以在 Sencha Fiddle(现代工具包)中运行它:
Ext.define('MyButton', {
extend: 'Ext.Button',
xtype: 'mybutton',
config: {
// the custom property
myMessage: null,
// built-in configuration properties
text: 'Press me',
handler: function (button, e) {
// based the name of the customer property, getter and
// setter are automatically generated by the framework
Ext.Msg.alert('Alert', button.getMyMessage());
button.setMyMessage('Clicked more than once');
}
},
});
Ext.application({
name: 'Custom property',
launch: function () {
Ext.create({
xtype: 'panel',
tbar: [{
xtype: 'mybutton',
myMessage: 'Button was clicked first time'
}],
items: [{
xtype: 'component',
html: 'Panel body'
}],
layout: 'fit',
fullscreen: true,
renderTo: Ext.getBody()
});
}
});