我一直在搜索并想知道是否有任何指示可以帮助显示"没有找到数据"当表格在角度为2时是空的。或者更好的是,当我订阅获取的数据时,我可以在我的服务中创建该功能吗?
<table>
<tbody>
<tr *ngFor="let game of Games">
</td>
<td>{{game.name}}</td>
<td>{{game.type}}</td>
</tr>
</tbody>
</table>
答案 0 :(得分:8)
如果没有任何元素 length
,请检查数组的 length
,然后将其显示为 {{1} } 强>,
NO DATA
答案 1 :(得分:8)
您可以使用 Angular 4.0.0 中的最新功能并添加if else
声明:
<div *ngIf="Games?.length;else no_data_templ">
<table>
<tbody>
<tr *ngFor="let game of Games">
<td>{{game.name}}</td>
<td>{{game.type}}</td>
</tr>
</tbody>
</table>
</div>
<ng-template #no_data_templ>
No daata found...
</ng-template>
更新:对于Angular 2.X,您可以使用以下方法:
<div *ngIf="Games?.length">
<table>
<tbody>
<tr *ngFor="let game of Games">
<td>{{game.name}}</td>
<td>{{game.type}}</td>
</tr>
</tbody>
</table>
</div>
<div *ngIf="! Games?.length">
No data found...
</div>
答案 2 :(得分:2)
如果要显示未找到数据的消息。在表标签之前检查游戏是否有要迭代的项目。
像这样的东西
Master Table Fields:-
Person product categ price image field1 field2
Child Table (User customised):-
User Product categ customprice customfield1 customfield2
Query:-
totalrecords = Master.objects.filter(Person=person1).filter(categ=catogory1)
enabledrecords = Child.objects.filter(user=user).filter(categ=categ1)
在模板中使用hasData()
{% for obj in totalrecords %}
if obj.id in enabledrecords (using product forign key) then
Get en_obj from enabledrecords__product
{{obj.id}} {{en_obj.id}} {%if en_obj.customprice%} {{en_obj.customprice}}
{%else%}{%obj.price%}{%endif%} -->do same for other customfields
if obj.id not in enabledrecords
{{ obj.id }} <p> Product not customized click here to customise </p>
你可以构建&amp;无论如何你都想要这样做。
答案 3 :(得分:0)
将这些代码添加到您的html文件中
<div class="card-body">
<mat-table[dataSource]="listData" [hidden]="!isTableHasData">
.......
.......
</mat-table>
<div [hidden]="isTableHasData" style="text-align: center;">
no records found..
</div>
</div>
此代码适用于.ts文件
isTableHasData = true;
applyFilter(filterValue: string) {
this.listData.filter = this.searchKey.trim().toLowerCase();
if(this.listData.filteredData.length > 0) {
this.isTableHasData = true;
} else {
this.isTableHasData = false;
}
}
只需使用此代码,希望它能解决您的问题。
答案 4 :(得分:-1)
您可以使用*ngIf
进行条件显示/隐藏所需的DOM元素
<div *ngIf="!Games">
No data found!!!
</div>
<div *ngIf="Games">
<table>
<tbody>
<tr *ngFor="let game of Games">
<td>{{game.name}}</td>
<td>{{game.type}}</td>
</tr>
</tbody>
</table>