我正在使用PrimeNg表显示数据,并添加了如下的空消息模板:
<ng-template pTemplate="emptymessage">
<tr>
<td>
No records found
</td>
</tr>
</ng-template>
,我正在使用延迟加载,因为从服务器获取了数据。我添加了一个加载标志,当http调用完成时,该标志会更改。代码如下:
this.myService
.myHttpCallFunction(params)
.pipe(
finalize(() =>{ this.loading = false;}, 100)
)
.subscribe(
(result: JsendResponse) => this.data = result.data,
errors => this.errors = errors
);
我正在将loading
标志传递给表,它看起来像下面的样子:
<p-table [value]="data?.data" [columns]="settings.columns" [loading]="loading">
现在它将显示加载图标一段时间,然后显示空消息一段时间。然后只有它会显示实际数据。实际上,这很令人困惑,因为用户可能会因为显示空消息而认为没有数据。
答案 0 :(得分:2)
按如下所示更新代码
this.myService
.myHttpCallFunction(params)
.subscribe(
(result: JsendResponse) => {
this.data = result.data;
this.loading = false;
},
errors => this.errors = errors
);