【发布时间】:2018-05-11 07:13:02
【问题描述】:
我在我的项目中使用了 Angular 材质树。 是否可以默认打开树。
是否有一种方法可以一次展开/折叠所有节点(例如,使用按钮)
【问题讨论】:
标签: angular tree angular-material
我在我的项目中使用了 Angular 材质树。 是否可以默认打开树。
是否有一种方法可以一次展开/折叠所有节点(例如,使用按钮)
【问题讨论】:
标签: angular tree angular-material
MatTree的treeControl提供了一个expandAll方法可以用来展开所有的树节点,collapseAll可以用来关闭所有的树节点。
您可以通过ViewChild 实例化MatTree 并在ngAfterViewInit 生命挂钩中调用expandAll 使其默认扩展。
@ViewChild('tree') tree;
ngAfterViewInit() {
this.tree.treeControl.expandAll();
}
模板调用的源码示例:
<button (click)="tree.treeControl.collapseAll()">collapseAll</button>
<button (click)="tree.treeControl.expandAll()">expandAll</button>
<mat-tree #tree [dataSource]="dataSource" [treeControl]="treeControl">
...
<mat-tree>
见example。
【讨论】:
expandAll 功能正常工作,请确保TreeControl 的dataNodes 变量必须设置为树的所有根级数据节点。
另外确保设置了 treeControl 节点。加载数据后你应该
treeControl.dataNodes = nodes;
treeControl.expandAll()
【讨论】: