Handling itemclick event on tree panel Extjs 4

前端 未结 3 1849
猫巷女王i
猫巷女王i 2020-12-29 14:55

what I am trying to do is to get different reaction on a different tree LEAF click!

var myTree = Ext.create(\'Ext.tree.Panel\',
    store: store,
    rootVis         


        
相关标签:
3条回答
  • 2020-12-29 15:17

    The itemclick event listener's function param "index" does not point to your tree node's index. Like you mentioned in end of your question the syntax for the itemclick event is:

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

    Here is an example:

    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..
        }           
    }
    

    And here is an example of my tree node's data:

    { text: 'SP Reports', id: 'SP', leaf: true},
    { text: 'CO Reports', id: 'CO', leaf: true},
    
    0 讨论(0)
  • 2020-12-29 15:22

    Itemclick handler already gives you everyting you need:

    itemclick(view, record, item, index, e ) {
        var id = record.get('id');
        // do something depending on the record data.
        // console.log(record);
    }
    
    0 讨论(0)
  • 2020-12-29 15:27

    I was trying to do a generic treepanel's item click handler and to be able to get a custom field I added to the node object. This helped me out. I dunno if this is the standard and compatible ExtJs 4 way:

                (Some Panels Here),
                items: [{
                    xtype: 'treepanel',
                    listeners: {
                        itemclick: {
    
                            fn: function (view, record, item, index, e) {
    
                                console.log(record.raw.userData);
                            }
                (removed...)
    
    0 讨论(0)
提交回复
热议问题