如何基于node属性在Angular Material平面树中渲染特定的树节点?

时间:2019-04-04 17:11:47

标签: javascript angular typescript angular-material angular7

我想基于节点的<mat-tree-node>属性显示特定的树节点nodeAuthorized: boolean。我如何实现此目标,因为angular不允许在单个元素上使用两个以上的结构指令。

我尝试在nodeAuthorized的唯一子项<div>上使用<mat-tree-node>属性,但这会在2个或更多树节点之间呈现空白。任何帮助,将不胜感激?

这是我尝试过的方法,但是,这在不需要的节点之间留下了明显的空白。

<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding>
 <div *ngIf="node.treeNode.nodeAuthorized">   
  <button mat-icon-button matTreeNodeToggle>
   <mat-icon class="mat-icon-rtl-mirror">
    {{
       treeControl.isExpanded(node) ? "expand_more" : "chevron_right"
     }}
    </mat-icon>
   </button>

   {{node.treeNode.nodeName}}
 </div>
</mat-tree-node>

1 个答案:

答案 0 :(得分:0)

*matTreeNodeDef可以与<ng-container>一起使用,然后可以与另一个HTML元素(如<div>和结构指令*ngIf一起使用以呈现特定的节点。