我正在使用PrimeNg表显示数据,并添加了如下的空消息模板:
<ng-template pTemplate="emptymessage">
<tr>
<td>
No records found
</td>
</tr>
</ng-template>
,并且我正在使用延迟加载,因为从服务器获取了数据。我添加了一个加载标志,当http调用完成时,该标志会更改。代码如下:
this.myService
.myHttpCallFunction(params)
.pipe(
finalize(() => this.loading = false)
)
.subscribe(
(result: JsendResponse) => this.data = result.data,
errors => this.errors = errors
);
我正在将loading
标志传递给表,它看起来像下面的样子:
<p-table [value]="data?.data" [columns]="settings.columns" [lazy]="true" [loading]="loading">
该表是从共享组件加载的,并且该表接受数据作为输入参数。因此,共享组件中数据的声明就像
@Input()
set data(data) {
if (data) {
this._data = data;
this.total = data.meta.pagination.total;
}
}
get data(){
return this._data;
}
现在,该表将首先显示No Records Found
一秒钟,然后再加载数据。我假设这是因为在接收HTTP响应之前已加载表。但是我该如何解决呢?