2017-04-30 123 views
0

我已經成功實現了我想要的所有樹視圖,但無法捕獲只有葉節點,只要父節點被選中,因此,我只需要的葉節點的對象在像以下的任何類型的選項的我所選擇的節點的陣列上被添加:在angular-ivh-treeview中選擇父節點時只捕獲葉節點

情況1:在葉節點的選擇

殼體2:上的選擇情況3:選擇最後一個左葉節點 等...等。

<div ivh-treeview="demo.stuff" 
    ivh-treeview-expand-to-depth="-1" 
    ivh-treeview-on-cb-change="demo.updateSelection()"> 
</div> 

$scope.demo.updateSelection = function() { 
    $scope.selectedNodes.length = 0; 
     ivhTreeviewBfs($scope.demo.stuff, function(node) { 
      if(node.selected) { 
       $scope.selectedNodes.push(node); 
      } 
    }); 
} 

有了這些上面的代碼中,整個層次得到儘快的父節點被選中加入到我的選擇的節點陣列。

回答

0

ivhTreeviewBfs不會直接告訴你,如果給定的節點是葉或沒有,但你可以檢查,例如:

if(node.selected && !(node.children || []).length) { 
    /* it's a selected leaf! */ 
} 

此外,超小的事情,但要記住,如果你可以用ivhTreeviewOptionsProvider不想硬編碼selectedchildren等屬性。