【问题标题】:ion-refresher doesn't hide after synchronization离子刷新器在同步后不会隐藏
【发布时间】:2020-08-28 10:06:28
【问题描述】:

我只是在我的项目中设置了离子刷新器,它完美地加载了数据,但在完成功能后它并没有隐藏

home.html

<ion-refresher slot="fixed" pullingIcon="arrow-dropdown"
      pullingText="Pull to refresh"
      refreshingSpinner="circles"
      refreshingText="Refreshing..." (ionRefresh)="doRefresh($event)">
    <ion-refresher-content></ion-refresher-content>
  </ion-refresher>

home.ts

  doRefresh(event) {
    console.log('Begin async operation');
    this.data.getTodayReservations().subscribe(
        reservations => {
            console.log(reservations);
            this.reservations = reservations;
        }, error => {
            console.log(error);
        });
    setTimeout(() => {
      console.log('Async operation has ended');
    }, 2000);
  }

控制台:

Begin async operation
(3) [{…}, {…}, {…}]
Async operation has ended

但在触发刷新事件后,数据会加载,但刷新会像这张图片一样停留在顶部

【问题讨论】:

    标签: cordova ionic-framework ionic3


    【解决方案1】:

    数据更新后,您需要在 doRefresh 中调用 event.complete();

    doRefresh(event) {
        console.log('Begin async operation');
        this.data.getTodayReservations().subscribe(
            reservations => {
                console.log(reservations);
                this.reservations = reservations;
                event.complete();//here
            }, error => {
                console.log(error);
            });
        setTimeout(() => {
          console.log('Async operation has ended');
        }, 2000);
      }
    

    API docs for Ionic 3

    【讨论】:

    【解决方案2】:

    在 ionic 4/5 中使用 event.target.complete()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2020-07-13
      • 2017-09-15
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多