2011-05-23 80 views
7

我想要做的是在不同的樹上獲得不同的反應LEAF點擊!在樹面板上處理itemclick事件Extjs 4

var myTree = Ext.create('Ext.tree.Panel', 
    store: store, 
    rootVisible: false, 
    border: false, 
    listeners: { 
     itemclick: function(index) {    
      var record = store.getAt(index); 
      alert(record);   
     } 
    } 
}); 

我試着索引,得到葉的索引,什麼都沒有。 我可以在點擊節點上獲得反應,但是如何在每個葉子上獲得特定反應? 我也試過給葉子ID,沒有運氣?

可能的

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

} 

Pleeasse幫助一個簡單的例子!

回答

10

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}, 
+0

自定義參數怎麼樣?我無法獲得例如pareameter的表單記錄,即使它是由json發送存儲的?我怎樣才能得到這個孩子的參數數據? – 2011-07-06 07:50:46

+0

我還需要知道如何訪問自定義參數 – Awalias 2013-01-08 15:43:29

6

itemClick處理已經爲您提供了everyting:

itemclick(view, record, item, index, e) { 
    var id = record.get('id'); 
    // do something depending on the record data. 
    // console.log(record); 
} 
+0

@Abdel奧拉卡拉非常感謝你,我嘗試過,作品! – 2011-05-23 09:34:42

+0

@ischenkodv在我眼中最好,最乾淨的方法! – Chris 2011-10-27 12:01:12

3

我試圖做一個通用的treepanel的項目點擊處理程序,並能夠獲得我添加到節點對象的自定義字段。這幫了我。我不知道,如果這是標準和兼容的ExtJs 4方式:

  (Some Panels Here), 
      items: [{ 
       xtype: 'treepanel', 
       listeners: { 
        itemclick: { 

         fn: function (view, record, item, index, e) { 

          console.log(record.raw.userData); 
         } 
      (removed...) 
+1

我在找什麼,謝謝! 我需要它︰record.raw :) – 2011-12-02 17:45:49

+0

我有'{文本:'SP報告',ID:'SP',葉:真,自定義:'你好'}'如何訪問自定義屬性? – Awalias 2013-01-08 15:44:24