我正在使用具有无限滚动功能的 ionic-selectable,我面临的问题是新页面数据加载,ionic-selectable 滚动移动到顶部。情况并非如此,用户应该看到新项目出现并继续正常滚动。
<ion-item lines="none">
<ionic-selectable #nationalityRef closeButtonSlot="end" formControlName="nationalities"
[items]="nationalities?.data" itemValueField="id" itemTextField="nationality" [canSearch]="true"
[searchPlaceholder]="'Profile.Form.Nationality' | translate" [hasInfiniteScroll]="true"
(onSearch)="searchThroughRecords($event,natl,false,'nationality')"
(onInfiniteScroll)="infinitescroll($event,true)" class="v2"
(onClose)="selectClosed(nationalityRef)">
<ng-template ionicSelectableTitleTemplate>
{{'Profile.Form.Nationality' | translate}}
</ng-template>
<ng-template ionicSelectablecloseButtonTemplate>
<ion-icon src="../../../assets/icon/close.svg"></ion-icon>
</ng-template>
</ionic-selectable>
</ion-item>
和班级代码:
infinitescroll(event,record: paginatedResponse < any >,fn: CallableFunction,type ?: string,index ?: number) {
const text = (event.text || '').trim().toLowerCase();
// There're no more ports - disable infinite scroll.
if (record.meta.current_page > record.meta.last_page) {
event.component.disableInfiniteScroll();
return;
}
const payload: any = {
per_page: NationalityPerPage,page: record.meta.current_page,sort: 'title',direction: 'asc',nationality_id: null
};
fn(payload).subscribe((items: paginatedResponse<NationalitiesModel>) => {
record.data = event.component.items.concat(items.data);
event.component.items = record.data;
event.component.endInfiniteScroll();
record.meta.current_page++;
});
}