首页 > 解决方案 > Angular Material 6.0.1 树默认打开并展开/折叠所有

问题描述

我在我的项目中使用 Angular 材质树。是否可以默认打开树。

是否有一种方法可以一次展开/折叠所有节点(例如,使用按钮)

https://material.angular.io/components/tree/overview

标签: angulartreeangular-material

解决方案


MatTree的 treeControl 提供了一种expandAll方法,您可以使用它来展开所有树节点,并collapseAll关闭所有树节点。

您可以实例化MatTreeviaViewChild并调用life hookexpandAllngAfterViewInit使其默认扩展。

@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>

例子


推荐阅读