问题描述
简介- 我正在构建一个动态加载和显示嵌套数据集的树视图。在这里您可以找到代码:
<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>
问题-当无法扩展切换节点时,我需要显示一个红色框,显示“无可用数据”。该框必须在切换的节点下仅显示 。
我设法通知用户有关此问题的信息,但没有针对切换的节点。在下面的图片中,您可以看到会发生什么。
问题-为了实现自己的目标,我该如何调整?
解决方法
在代码中,如果error
评估true
(其中包含某些内容),则会显示错误,但是对于所有节点而言,它都是相同的变量。
这样,您可以在所有节点中显示错误,也可以在所有节点中都不显示错误。
如果希望只在选定的节点上显示它,我希望*ngIf
内部的条件包含在节点对象内部的内容,例如node.hasError
或!node.data
。