处理树面板Extjs 4上的itemclick事件
我想要做的是在不同的树上获得不同的反应LEAF点击!
var myTree = Ext.create('Ext.tree.Panel',
store: store,
rootVisible: false,
border: false,
listeners: {
itemclick: function(index) {
var record = store.getAt(index);
alert(record);
}
}
});
我试着用index,得到叶子的索引,什么都没有。 我可以在点击节点上获得反应,但是如何在每个叶子上获得特定的反应? 我也尝试给叶子ID,没有运气?
也许一个简单的例子
itemclick: function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {
}
Pleeasse帮助!
itemclick
事件监听器的函数参数“index”并不指向你的树节点的索引。 就像你在问题结束时提到的那样, itemclick
事件的语法是:
function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {
}
这里是一个例子:
itemclick : function(view,rec,item,index,eventObj) {
// You can access your node information using the record object
// For example: record.get('id') or record.get('some-param')
if(r.get('id')=='SP') {
// I do my necessary logic here.. may be open a perticular window, grid etc..
}
if(r.get('id')=='CO') {
// I do my necessary logic here.. may be open a perticular window, grid etc..
}
}
这里是我的树节点数据的一个例子:
{ text: 'SP Reports', id: 'SP', leaf: true},
{ text: 'CO Reports', id: 'CO', leaf: true},
Itemclick处理程序已经为您提供了所需的一切:
itemclick(view, record, item, index, e ) {
var id = record.get('id');
// do something depending on the record data.
// console.log(record);
}
我试图做一个通用的treepanel的项目点击处理程序,并能够获得我添加到节点对象的自定义字段。 这帮了我。 我不知道,如果这是标准和兼容的ExtJs 4方式:
(Some Panels Here),
items: [{
xtype: 'treepanel',
listeners: {
itemclick: {
fn: function (view, record, item, index, e) {
console.log(record.raw.userData);
}
(removed...)
链接地址: http://www.djcxy.com/p/19535.html