![](/img/trans.png)
[英]dojo dijit.tree getChildren() not returning all tree nodes
[英]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.