使用* ngIf过滤清晰度递归树中的树节点

时间:2019-07-10 13:27:52

标签: angular vmware-clarity

我有一棵递归清晰度树

<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

中看到一些示例here

但是在这种情况下,即使isVisible始终返回true,也不会显示任何内容。如何在此处使用* ngIf指令过滤树节点?

1 个答案:

答案 0 :(得分:0)

现在不可能了。最好在组件中过滤数组。