假设我有一个由PrimeNg为Angular2提供的TreeTable。如何在代码中扩展特定节点(例如在onNodeSelect
回调中)?
答案 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);
}
}
}
}