Ionic 2:如果列表没有数据

时间:2017-05-10 06:09:15

标签: ionic2 infinite-scroll

当列表中没有任何项目时,如果我滚动内容,则会调用doInfinite()。

我只是在IOS上遇到这个问题。

以下是相关代码。

.ts文件有:

doInfinite(infinite){
    setTimeout( ()=> {
      infinite.complete();
    }, 2000);
  }

模板文件有:

<ion-content padding>
   <ion-infinite-scroll (ionInfinite)="doInfinite($event)" threshold="100px" #infiniteScroll>
        <ion-infinite-scroll-content loadingSpinner="bubbles" loadingText="Loading more data...">
        </ion-infinite-scroll-content>
    </ion-infinite-scroll>
</ion-content>

问题:当我滚动内容区域时,正在调用doInfinte()方法。

P.S.我们屏幕上没有任何项目。

有人有解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果我理解您的问题,您希望在没有任何数据时禁用无限滚动。

检查docs

<ion-infinite-scroll (ionInfinite)="doInfinite($event)" threshold="100px" #infiniteScroll [enabled]="isEnabled">
        <ion-infinite-scroll-content loadingSpinner="bubbles" loadingText="Loading more data...">
        </ion-infinite-scroll-content>
    </ion-infinite-scroll>

您可以根据数据是否在组件中可用,将isEnabled设置为true或false。

第二个选项是使用enable()函数。

使用ViewChild获取组件中的InfiniteScroll引用:

 @ViewChild('infiniteScroll')infiniteScroll:InfiniteScroll;

并致电

this.inifiniteScroll.enable(false);

需要时。