簡體   English   中英

解析dijit.tree中的節點

[英]Parse nodes in a dijit.tree

我在與dijit.Tree斗爭,我在dojo文檔中找不到我需要的東西...

我想根據某些條件更改樹中一些元素的樣式。

我可以通過for循環和if評估的組合來識別元素:

itemList = this.tree.model.store._arrayOfAllItems;
for (var index in itemList) {
    item = itemList[index];
    if (item.<property> == ...) {
       ...
       //This is where I want to change the style
       ...
    }
    ...
}

但是然后,我無法獲取節點ID來調用dojo.addClass(nodeId,newClass)。

我是否使用model.store._arrayOfAllItems解析正確的列表? 有沒有一種方法可以解析節點列表,並仍然訪問數據屬性?

非常感謝您的幫助!


於2015-11-23編輯

有了Richard的評論,我能夠獲得想要的結果。 我添加了一個處理程序,該處理程序將樹的onOpen事件連接到獲取開放節點映射(從tree._itemNodesMap)然后通過存儲獲取的方法。 對於商店中的每個商品,如果要驗證的商品的ID在開放節點圖中具有關聯的節點,它將調整CSS。 然后遞歸地為兒童查找。

感謝理查德的幫助!

如果您在樹中擁有該節點的ID,則可以使用該樹具有的getNodesByItem函數。

盡管如果樹是動態的並且內容可以更改,我建議編寫一個函數,該函數不僅可以添加到您的商店中,還可以添加到樹中形成的節點的類中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM