[英]how to attach onclick event to XTemplate element extjs?
我对extjs很陌生。 单击div后,我想调用onclick事件,下面是代码。
请帮助,在此先感谢。
var resultTemplate = new Ext.XTemplate(
'<tpl for=".">',
'<div class="list-item" id={value}>',
'<i class="folder-icon"> </i>',
'{value}',
'</div>',
'</tpl>'
);
Ext.define('abc.view.xyz', {
layout: {
type: 'border',
padding: 5
},
extend: 'Ext.Panel',
alias: 'widget.infraTab',
id: 'infraTab',
margin: '10 10 10 10',
border: true,
items: Ext.create('Ext.view.View', {
store: store,
tpl: resultTemplate
})
});
我想要单击类"list-item"
的div及其ID的值。
您应该能够使用itemclick侦听器:
Ext.create('Ext.view.View', {
store: store,
tpl: resultTemplate,
itemSelector: '.list-item',
listeners: {
itemclick: function(view, record, item, index, e, eOpts) {
alert(record.get('value'));
}
}
});
这是一个Sencha小提琴,演示其用法。
当您不使用View
itemSelector不可用,在这种情况下,您可以执行以下操作:
afterRender: function () {
this.callParent(arguments);
this.el.select('.item', true)
.elements
.forEach((item) =>
item.on('click', (e, element) => {
this.fireEvent('itemclick');
}
)
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.