Используйте * ngIf для фильтрации узлов дерева в рекурсивном дереве ясности - PullRequest
1 голос
/ 10 июля 2019

У меня есть рекурсивное дерево ясности

<clr-tree>
  <clr-tree-node 
      *clrRecursiveFor="let type of displayedTypes; getChildren: getTypeChildren" 
      [(clrSelected)]="type.selected"    
      [(clrExpanded)]="type.expanded"
    >
      {{type.name}}
    </clr-tree-node>
</clr-tree>

Но я хочу отфильтровать некоторые узлы дерева.В простом случае я бы использовал директиву *ngIf.Но у меня уже есть другая директива *clrRecursiveFor здесь.Поэтому я пытаюсь обернуть его в ng-container.

<clr-tree>
    <ng-container  *clrRecursiveFor="let type of displayedTypes; getChildren: getTypeChildren" > 
      <clr-tree-node *ngIf="isVisible(type)"...>
          ...
        </clr-tree-node>
        </ng-container>
    </clr-tree>

Вы можете увидеть некоторые примеры здесь в app.component.html

Но в этом случае ничего не отображается, даже если isVisible всегда возвращает true.Как я могу использовать директиву * ngIf здесь для фильтрации узлов дерева?

1 Ответ

0 голосов
/ 11 июля 2019

Теперь это невозможно.Лучше фильтровать массив в компоненте.

...