如何通过代码扩展PrimeNg TreeTable

时间:2016-06-03 14:27:44

标签: angular primeng primeng-treetable

假设我有一个由PrimeNg为Angular2提供的TreeTable。如何在代码中扩展特定节点(例如在onNodeSelect回调中)?

2 个答案:

答案 0 :(得分:10)

我想OP不再需要答案,但是对于到达这里但没有找到答案的人来说 -

expanded有一个属性TreeNode,您需要做的就是将其设置为true

selectedNode.expanded=true;

如果您希望树显示全部展开,只需遍历TreeNodes并在每个树上展开展开。这将与此类似

  expandChildren(node:TreeNode){
    if(node.children){
      node.expanded=true;
      for(let cn of node.children){
        this.expandChildren(cn);
      }
    }
  }

答案 1 :(得分:1)

使用上面我刚编写了用于扩展/折叠整个可处理节点的函数。

在我的模板中,我将整个treetable json传递给exapandORcollapse

<button type="button" (click)="exapandORcollapse(basicTreeTable)">Collapse /Expand all</button>
 <p-treeTable [value]="basicTreeTable" selectionMode="single" [(selection)]="selectedPortfolio" (onNodeSelect)="nodeSelect($event)"
            (onNodeUnselect)="nodeUnselect($event)" (onRowDblclick)="onRowDblclick($event)" scrollable="true">

在我的component.ts文件中

 exapandORcollapse(nodes) {
    for(let node of nodes) 
  { 
    if (node.children) {
        if(node.expanded == true)
          node.expanded = false;
          else
          node.expanded = true;
        for (let cn of node.children) {
            this.exapandORcollapse(node.children);
        }
    }
  }
}