Angular Material 6.0.1 树默认打开并全部展开/折叠

标签 angular tree angular-material

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

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

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

最佳答案

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

可以通过ViewChild实例化MatTree,在ngAfterViewInit生命钩子(Hook)中调用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 .

关于Angular Material 6.0.1 树默认打开并全部展开/折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50286936/

相关文章:

angular - 不使用 mat-error、ng-template 和 *ngTemplateOutlet 进行渲染

尽管模型中的变量发生了变化, Angular View 仍然没有更新

Angular Material 选项卡 : Prevent tab change of mat-tab-group if the form in current tab is dirty

java - 如何在 Java 中显示树层次结构?

javascript - 创建决策 TreeMap

angular - 当应用于 Angular 中的嵌套网格时,Mat-Table 数据源被覆盖

angular - Angular2 Material 上的卡片标题背景颜色

css - 如何从 Angular 中的子组件修改父组件的 css 属性

javascript - 如何在 Angular 8 中检测文件的字符集?

Java Wicket (6.19) IVisitor 参数传递