2011-04-28 69 views
0

因此,我正在通過創建控制器偵聽事件以觸發方法來跟隨MVC模式的新Ext。我有一個視圖,其中包含一個作爲管理菜單加載的樹,我希望在單擊名爲「列出所有用戶」的樹項時單擊「用戶」控制器來監聽,以便我可以向所有用戶顯示網格。我的邏輯說,我必須爲每個樹元素設置一個ID,以確保我正在聽權利,只有可能的一個......問題是,即使我發送和ID到我的JSON在每個元素上,它永遠不會被分配。元素ID仍然具有'ext-gen1091'類型的元素ID。Extjs 4設置每個項目編號

任何想法如何做我的每個樹元素分配一個唯一的ID?

我的JSON是這樣的:

{"expanded":"true","text":"Users","id":"users","children":[{"text":"List all users","id":"userslist".... 

回答

0

你並不需要使用HTML ID來識別你要處理的記錄。 ExtJS提供的API使您可以輕鬆處理操作,監聽樹或其他組件上的事件等。

因爲您已經爲樹中的每個節點分配了id。您可以使用相同的ID來處理動作/事件發生的時間。您只需將適當的事件偵聽器方法添加到樹面板即可。例如,如果您正在跟蹤點擊節點,則可以使用itemclick。方法參數使您可以訪問所有需要的信息。

這裏是框架代碼:

itemclick: function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) { 
    // Access the record using record or you can access the HTML using item variable. 
} 

同樣你可以利用其它的事件和跟蹤用戶行爲。

+0

JavaScript沒有類型...所以你的函數參數是不好的。 – Cipi 2011-05-10 14:18:57

+0

@Cipi它只是爲了解什麼類型正在通過..如果你在ExtJS上工作,我肯定你會明白。 – 2011-05-10 14:45:04

+0

哦,好的,抱歉。 :) – Cipi 2011-05-10 15:01:01