上拉加载下拉更新

Posted wskxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上拉加载下拉更新相关的知识,希望对你有一定的参考价值。

1.上拉加载

  引用官网给出的代码

<ion-content>
<ion-list> <ion-item *ngFor="let item of list"> {{item}} </ion-item> </ion-list>  <!-- 这是官网给的代码,必须放在列表下方 -->
  <ion-infinite-scroll (ionInfinite)="doInfinite($event)" threshold="100px">
    <ion-infinite-scroll-content loadingSpinner="bubbles" loadingText="加载中...">
    </ion-infinite-scroll-content>
  </ion-infinite-scroll>


</ion-content>

  ts:

  public list = [];
  public sum = 0;
  constructor() {
    this.setdata();
  }
  setdata() {
    for (let i = 0; i < 10; i++) { //模拟获取数据
      this.sum += 1;
      this.list.push(`第${this.sum}条数据`)
    }
  }
  doInfinite(event) {
    setTimeout(() => {
      this.setdata();
      event.complete();//提交更新
      console.log(1);
      if(this.sum>=50){
        event.enable(false);//终止上拉
      }
    }, 2000);
  }

2.下拉更新

  同样,用官网的代码

<ion-content>
  <!-- 这个要放在列表前面 -->
  <ion-refresher (ionRefresh)="doRefresh($event)">
    <ion-refresher-content pullingIcon="arrow-dropdown" pullingText="下拉更新" refreshingSpinner="circles" refreshingText="正在更新">
    </ion-refresher-content>
  </ion-refresher>

  <ion-list>
    <ion-item *ngFor="let item of list;let key=index" [navPush]="NewsinfoPage" [navParams]="params">
      {{item}}
    </ion-item>
  </ion-list>
</ion-content>

  然后写doRefresh方法

 public list = [];
  sum = 0;
  constructor() {
    this.setdata();
  }

  setdata() {
    let temp=[];
    for (let i = 0; i < 10; i++) {
      temp.push(`第${i}条数据,第${this.sum}次更新`);
    }
    this.list=temp;
  }
  doRefresh(event) {
    setTimeout(() => {
      this.sum+=1;//模拟更新
      this.setdata();
      event.complete();
    }, 2000);
  }

 

 

  


以上是关于上拉加载下拉更新的主要内容,如果未能解决你的问题,请参考以下文章

iOS UITableView-下拉刷新上拉加载

上拉加载实现

iOS 下拉刷新和上拉加载更多效果原理

微信小程序页面事件-下拉刷新,上拉加载更多

React-native ScrollView 上拉加载和下拉刷新

vue2.0 移动端,下拉刷新,上拉加载更多 插件