2017-05-10 19 views
1

當列表中沒有任何項目時,如果我滾動內容,則調用doInfinite()。Ionic 2:如果列表中沒有數據,則調用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.我們在屏幕上沒有任何項目。

有沒有人有解決這個問題的方法?

回答

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); 

+0

感謝Suraj,但如果我們確實有內容,爲什麼內容區域在IOS上滾動?它不在Android上滾動。你有什麼主意嗎? –

+0

滾動功能設置在離子內容本身..將不得不看到代碼.. html和相關的CSS –

相關問題