簡體   English   中英

dojo dijit.tree getChildren() 不返回所有樹節點

[英]dojo dijit.tree getChildren() not returning all tree nodes

我正在使用 dojo 1.10.4 並且注意到 dijit.tree getChildren() 函數只返回在 dijit.tree 中展開(顯示和可見)的子(樹)節點。 如何循環遍歷所有 dijit.tree 樹節點,而不管它們是否顯示和可見?

  • 我可以輕松地遍歷所有底層數據存儲元素,但我正在嘗試定位特定的樹節點,以便我可以使用“node.labelNode.style”設置它們的樣式。
  • 我可以在調用 getChildren() 之前以編程方式擴展所有 dijit.tree 節點,但我希望保留用戶對 dijit.tree 的視圖。

任何建議都非常感謝。

我不確定這是否是您所追求的,但這就是我們擴展所有節點的方式,這與您的任務類似,從樹中獲取所有節點。 我相信通過簡單的修改,您將能夠完成您的任務

假設我們有一個擴展樹節點的函數,我們將調用它

    this._expandTree(this._tree.rootNode);

和函數本身

    _expandTree: function (node) {
                if (node.hasChildren()) {
                    var currentNode;
                    for (var i = 0; i < node.getChildren().length; i++) {
                        currentNode = node.getChildren()[i];                            
                        this._expandTree(currentNode);
                    }
                }
            },

暫無
暫無

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

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