развернуть firstLevel Tree в материале angular - PullRequest
1 голос
/ 05 апреля 2020

Я создал дерево в Angular. Это дерево имеет 3 уровня. Когда дерево загружено, открывается первый уровень. Демо

Я хочу сделать что-то вроде добавления или удаления в этом дереве, и мне нужно, когда я выполняю действие в этом дереве, оно открывает уровень 1.

Я использую этот код, но он не работает для меня:

     @ViewChild('tree') tree;

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

как я могу решить, как я могу это сделать?

1 Ответ

1 голос
/ 05 апреля 2020

Чтобы открыть указанный c узел дерева, вы можете сгладить дерево, используя FlatTreeControl и использовать его expand() метод. Следует отметить, что нужно открыть подузел, все его родительские узлы также должны быть открыты. Попробуйте следующий

Контроллер

export class AppComponent {
  treeControl = new FlatTreeControl<TreeNode>(
      node => node.level, node => node.expandable);
  .
  .
  ngAfterViewInit() {
    this.treeControl.expand(this.treeControl.dataNodes[0]);   // <-- open root node
    this.treeControl.expand(this.treeControl.dataNodes[1]);   // <-- open node 1
  }
}

Я изменил ваш Stackblitz .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...