ionic4中上拉加载更多

    订餐系统中加载订餐信息、以及加载账单信息,我们用到了上拉加载更多的功能,让数据成量的出现,这样做的好处就是,可以减轻服务器的压力,不需要加载全部的数据。

 ion-infinite-scroll  组件实现上拉分页加载更多

 <ion-list>
    <ion-item *ngFor="let item of list">
      <ion-label>{{item.operate}}</ion-label>
    </ion-item>        
  </ion-list>
  <ion-infinite-scroll threshold="10%" (ionInfinite)="loadData($event)">
    <ion-infinite-scroll-content loadingSpinner="crescent" loadingText="正在加载中...">
    </ion-infinite-scroll-content>
  </ion-infinite-scroll>
  <p *ngIf="!hasMore">---我是有底线的---</p>

 scroll.page.ts文件

import { Component, OnInit } from '@angular/core';
import { CommonService } from '../../services/common.service';

@Component({
  selector: 'app-scroll',
  templateUrl: './scroll.page.html',
  styleUrls: ['./scroll.page.scss'],
})
export class ScrollPage implements OnInit {
  public list:any[]=[];
  public page:any=1;//厨师加载第一页
  public hasMore=true;
  constructor(
    public common:CommonService)
    {} 

  ngOnInit(): void {
      this.loadData(null);//页面初始化的时候加载数据
  }
 
  loadData(e){
    var api = "CardAddLog/QueryRechargeByTime?cardId=E000510&datetime=2019-04"
      this.common.ajaxGet(api).then((response:any)=>{
        console.log(response)
        // this.list=response;
        //this.list.concat(response.result):将原来的数据与返回来的数据进行拼接用到了concat
        this.list=this.list.concat(response);
          ++this.page;
          //判断下一页有没有数据
          if(response.length<20){
            e?e.target.disabled=true:'';
            this.hasMore=false;
          }          
          e?e.target.complete():''; //请求完成数据以后告诉ion-infinite-scroll组件更新数据
      })
  }
}

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值