我正在尝试扩展Ext.grid.Panel以构建一个将带有“prebuild”侦听器的人(将检查商店,并告诉商店在gridpanel的标题中添加nulber记录) 。我在这个过程的最开始就陷入困境,尽管浏览了一段时间,我找不到正确的方法:
//Extending a grid with a simple hello world...
Ext.define('MIS.Ext.GridExtraHeaderData', {
extend: 'Ext.grid.Panel',
alias: 'widget.gridExtraHeaderData',
listeners:{
beforerender:function(){
console.log('hello world');
}
}
});
我用MIS.Ext.GridExtraHeaderData替换了Ext.grid.Panel,并且网格工作得非常好,但我在控制台中看不到任何“hello world”...
当我查看创建的对象时,我已经填充了“listeners:null”和“ proto .listeners”。
我试过构造函数,initComponent,没有成功。
答案 0 :(得分:1)
不要尝试在侦听器块中绑定它们,因为它们将与任何用户定义的侦听器冲突。相反,将它们绑定在代码中:
Ext.define('MIS.Ext.GridExtraHeaderData', {
extend: 'Ext.grid.Panel',
alias: 'widget.gridExtraHeaderData',
initComponent: function() {
this.on('beforerender', function() {
}, this);
this.callParent();
}
});