由于添加了我自己的方法,我想扩展Ext.Action
课程,但我鼓励问题Cannot override method statics on Core.app.Action instance
。
我知道这是一个与重写构造函数相关的问题。但是不知道如何以其他方式解决它。
这是我的组件的代码
Ext.define('Core.app.Action', {
extend: 'Ext.Action',
iconCls: 'icon-add',
currentData: undefined,
constructor: function(config){
config = Ext.applyIf(config || {}, this);
this.callParent([config])
},
handler: function (widget, event) {
Ext.Msg.alert("Name:", this.currentData.data.company)
},
getActionId: function () {
return this.actionId
},
setCurrentData: function (data) {
this.currentData = data
this.disable()
if (data.data.actions) {
this.currentData.data.actions.forEach(action => {
if (action === this.actionId) this.enable()
})
}
}
})
我有一种方法可以创建上述类的实例
Ext.create('Core.app.Action', {
actionId: 'D',
text: "Action D",
})
当我从类中删除构造函数时,ExtJS不会抛出错误,但我也不能使用诸如handler或setCurrentData之类的方法。
我也试过覆盖该组件,但失败了。
以下解决方案中的答案在这种情况下没有帮助。 Reusable Action in Ext JS MVC