【Angular】ng-zorro-ant跟后端接口交互使用loading加载

经常需要在表格获取后端接口数据时显示loading,获取完成或者失败时loading结束,用table来进行总结一下

1.在ts中声明一个loading变量

isLoadingTable: boolean = false;

2.在html中绑定loading变量

<nz-table [nzLoading]="isLoadingTable" [nzFrontPagination]="false"  [nzData]="tableList" [nzShowPagination]="false" nzSize="small" [nzScroll]="{ x : '1000px' }">
</nzLoading>

3.在ts中引入finalize

import { finalize } from 'rxjs/operators'

4.在获取接口处使用loading显示和隐藏

  onSearch() {
    this.isLoadingTable = true;

    let httpOptions = {
      params: new HttpParams()
        .append("pageNumber", this.PageIndex)
        .append("pageSize", this.PageSize)
    };

    this.http.get(this.commonService.infoListAPI, httpOptions).pipe((finalize(() => {
      this.isLoadingTable = false;
    }))).subscribe((res: any) => {
      if(res.code == 200){
        this.tableList = res.data.list;
        this.listPage.Total = res.data.total;
      }else{
        this.message.error(res.msg);
      }
    });
   }

总结:通过使用finalize不管请求成功还是失败都会走这里,所以就可以只在一个地方将loading变量改为false

rxjs需要用npm或cnpm安装,本项目在package.json的配置如下:

"dependencies":{
	"rxjs":"~6.6.0"
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值