Ошибка при попытке свернуть / развернуть кнопку Angular Material Nested Tree - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть вложенное дерево угловой материал. Я пытаюсь создать кнопку, чтобы развернуть / свернуть, но я получаю следующую ошибку:
ERROR TypeError: Cannot read property 'reduce' of undefined

Я пробовал использовать HTML:

<button (click)="ahtree.treeControl.collapseAll()">collapseAll</button>

<button (click)="treeControl.expandAll()">expandAll</button>


<mat-tree #ahtree [dataSource]="AccountRelTypeTreeDataSource" [treeControl]="treeControl" class="example-tree">
  <!-- This is the tree node template for leaf nodes -->
  <mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle>
    <li class="mat-tree-node">
      <!-- use a disabled button to provide padding for tree leaf -->
      <button mat-icon-button disabled></button>
      <p">{{node.displayName}}</p>
    </li>
  </mat-tree-node>
  // The rest...
  ...

Или с машинописью:

  // Trees:
  @ViewChild('ahtree') ahtree;
  selectedTab = 0;

  // Datasource
  treeControl = new NestedTreeControl<TreeNode>(node => node.children);
  DataSource = new MatTreeNestedDataSource<TreeNode>();

  ...

   ngAfterViewInit() {
    this.ahtree.treeControl.expandAll();
   }

Я прочитал https://material.angular.io/components/tree/overview#treecontrol,, но мне все еще не удается заставить его работать.

Кто-нибудь знает, как это сделать с помощью вложенного дерева?

1 Ответ

0 голосов
/ 23 июня 2019

Вы не показали полную трассировку стека, но я предполагаю, что ошибка та же, что описана в этом билете Github . Решение, данное пользователем devversion, сработало для меня. Смотрите этот якорь в том же билете.

...