即使已加载数据,也会显示PrimeNg空消息

时间:2020-10-22 15:47:06

标签: angular typescript primeng

我正在使用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">

现在它将显示加载图标一段时间,然后显示空消息一段时间。然后只有它会显示实际数据。实际上,这很令人困惑,因为用户可能会因为显示空消息而认为没有数据。

1 个答案:

答案 0 :(得分:2)

按如下所示更新代码

this.myService
    .myHttpCallFunction(params)
    .subscribe(
        (result: JsendResponse) => {
          this.data = result.data;
           this.loading = false;
        },
         errors => this.errors = errors
    );