在单个节点上显示警告

问题描述

简介- 我正在构建一个动态加载和显示嵌套数据集的树视图。在这里您可以找到代码

<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">

<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding >
  <button mat-icon-button [attr.aria-label]="'toggle ' + node.filename" matTreeNodetoggle>
    <mat-icon class="mat-icon-rtl-mirror">
      {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
    </mat-icon>
  </button>
  {{node.item}}
  <mat-progress-bar *ngIf="node.isLoading" mode="indeterminate" class="example-tree-progress-bar"></mat-progress-bar>
  <app-error *ngIf="error" [text] = "errorText"></app-error> // I'm struggling with this particular line
</mat-tree-node>

问题-当无法扩展切换节点时,我需要显示一个红色框,显示“无可用数据”。该框必须在切换的节点下仅显示

我设法通知用户有关此问题的信息,但没有针对切换的节点。在下面的图片中,您可以看到会发生什么。

This is what I've achieved so far.

问题-为了实现自己的目标,我该如何调整?

解决方法

在代码中,如果error评估true(其中包含某些内容),则会显示错误,但是对于所有节点而言,它都是相同的变量。 这样,您可以在所有节点中显示错误,也可以在所有节点中都不显示错误。

如果希望只在选定的节点上显示它,我希望*ngIf内部的条件包含在节点对象内部的内容,例如node.hasError!node.data