2016-03-21 20 views
0

我想改變JSTree識別葉節點的方式。今天,它會檢查節點的子節點屬性,看其是否爲布爾真或包含至少一個子節點的數組。 Reference改變JSTree識別葉節點的方式

我想創建一個名爲isLeaf的節點屬性,這樣jsTree就會明白該節點對於子樹的AJAX加載是可打開的。

我試圖覆蓋默認is_parent方法,像這樣:

$.jstree.core.prototype.is_parent = function(node) { 
    return !node.original.isLeaf; 
}; 

但出於某種原因,這種方法不要求所有的樹節點。

我使用ngJsTree

有誰知道我怎樣才能實現這種行爲?

回答

0

我設法通過遍歷AJAX響應並將每個沒有子節點的節點更改爲children = true來處理它。

success : function(nodeRoot) { 

    var validateChildrenArray = function(node) { 

     if (!node.children || node.children.length === 0) { 
      node.children = true; 
     } 
     else { 
      for (var i = 0; i < node.children.length; i++) { 
       validateChildrenArray(node.children[i]); 
      } 
     } 

    }; 
    for (var i = 0; i < nodeRoot.length; i++) { 
     validateChildrenArray(nodeRoot[i]); 
    } 
} 

等待一個更好的解決方案...