1
私は、カスタム<span>
要素を列の中にレンダリングする基本的なグリッドパネルを持っています。私はこの要素のクリックイベントを捕まえて、それらをコントローラで処理しようとしています。ExtJS6のコントローラで本体要素のイベントを処理する方法は?
問題は、リスナー内でthis
がWindow
を参照しているため、イベントを発生させることもできません。
Ext.define('MyList', {
extend: 'Ext.grid.Panel',
xtype: 'mylist',
controller: 'mylist',
listeners: {
body: {
click: function(e, el){
//this.fireEvent('onTagClick');
},
delegate: 'span.tag',
scope: this
},
},
columns: [
{
text: 'Name',
dataIndex: 'name',
renderer: function(value, metaData, record){
return '<span class="tag">tag</span>' + value;
}
},
]
});
私はExt.GlobalEvents.fireEvent()
でグローバルなイベントを発生することができますが、グリッドがリロードされます後に重複イベントの呼び出しでいくつかの奇妙な問題やバグに実行しています。グローバルな出来事を避ける方法があるかどうかを見たいと思っています。