使用 *ngIf 过滤清晰递归树中的树节点
Use *ngIf to filter tree nodes in clarity recursive tree
我有一个递归清晰度树
<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
始终 returns 为真,也不会显示任何内容。我如何在这里使用 *ngIf 指令来过滤树节点?
现在不可能了。最好在组件中过滤数组。
我有一个递归清晰度树
<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
始终 returns 为真,也不会显示任何内容。我如何在这里使用 *ngIf 指令来过滤树节点?
现在不可能了。最好在组件中过滤数组。