我想做的是在不同的树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);
        }
    }
});


我尝试使用索引,以获得叶子的索引,什么也没有。
我可以在节点单击上获得反应,但是如何在每片叶子上获得特定的反应?
我也试着给叶子身份证,没有运气???

也许是一个简单的例子

itemclick: function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {

}


帮忙!

最佳答案

itemclick事件侦听器的函数参数“索引”未指向树节点的索引。就像您在问题末尾提到的那样,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},

07-25 23:28