2017-07-18 35 views
2

我已使用ion-tab來顯示頁面(inboxitem),其中包含ion-list並使用ion-infinite-scrollIonic 2-無限滾動不在第二次滾動調用方法

我在inboxitem.html

<ion-content class="inbox can-swipe-list"> 
    <ion-list> 
     <ion-list-header> 
      <ion-select [(ngModel)]="selectedOption" [selectOptions]="filterOptionSettings" (ngModelChange)="getFilteredList()"> 
       <ion-option value="{{option.value}}" *ngFor="let option of listInboxFilterOptions; let i=index" [selected]="i==0">{{option.name}}</ion-option> 
      </ion-select> 
     </ion-list-header> 

     <ion-item-sliding *ngFor="let list of inboxList; let j=index"> 
      <ion-item class="listWithReason" tappable (click)="ViewPopupDetails(j)"> 
       <h2> 
        <span>{{list.fullname | filterpipes:'manipulatename'}}<br /><small>{{list.leavename}}</small></span> 
        <div> <ion-icon md="md-calendar" ios="md-calendar"></ion-icon> {{list.fromdate}}{{list.todate!=null ? " to ":" " }}{{list.todate}}</div> 
       </h2> 
       <p *ngIf="list.reason!=''">{{list.reason}}</p> 
      </ion-item> 

      <ion-item-options side="right" *ngIf="list.empphone=='' || list.empphone==null"> 
       <button ion-button color="grey" class="no-phone">No phone</button> 
      </ion-item-options> 
     </ion-item-sliding> 

     <ion-item class="item-empty-row" *ngIf="!inboxList.length > 0"> 
      {{noRecordsFound}} 
     </ion-item> 
    </ion-list> 

    <ion-infinite-scroll *ngIf="infiniteLoading" (ionInfinite)="loadInboxList(false)" distance="1%"> 
     <ion-infinite-scroll-content></ion-infinite-scroll-content> 
    </ion-infinite-scroll> 
</ion-content> 

問題

  1. 下面的代碼默認20條記錄加載
  2. 在滾動加載20個。
  3. 但在第二次滾動時,它只顯示旋轉動畫,但不加載任何記錄。也就是說,在第二次滾動時,它根本不叫loadInboxList方法。所以清楚的是它在loadInboxList方法中沒有錯,因爲它在第二次滾動時根本沒有被調用。

我離子和科爾多瓦版本

Ionic Framework: 3.5.0 
Ionic App Scripts: 1.3.9 
Angular Core: 4.1.3 
Angular Compiler CLI: 4.1.3 
Node: 6.10.3 

任何幫助將高度讚賞

回答

2

,請務必讓infiniteScroll.complete();你的loadInboxList()中的

如果您有任何機會在代碼中調用infiniteScroll.enable(false),這將阻止滾動在任何後續滾動上工作,直到您再次啓用滾動。

編輯

現在我注意到您沒有傳遞您的(ionInfinite)方法的事件 -

它應該是這樣的:

(ionInfinite)="loadInboxList($event)" 

,並在您的.ts

loadInboxList(infiniteScroll){ 
    ...your code 
    infiniteScroll.complete() 
} 
+0

這真是愚蠢的我,愚蠢的錯誤。謝謝 – WatsMyName

+0

不客氣! –