ionic-infinite在隐藏后,刷新页面重新加载数据,无法下拉加载的问题

问题描述:

/**
* doInfinite上拉加载
*/
doInfinite(infinite) {
this.index++;
this.infinite=infinite;
/**如果conArr的长度与总数量相同,则下拉加载停止 */

if( this.conArr.length>= this.totalNum){
infinite.enable( false);
}
var typeId= this.typeArr.find(item =>{
if(item.selected){
return item;
}
})
setTimeout(() => {
console.log( '上拉加载==>'+ this.index);
this.requestData(typeId.encyclopedias_type_id, this.index);
infinite.complete();
}, 2000);
}
如上面代码所述,当conArr的长度大于等于totalNum时,inifinite.enable(false)——删 除事件侦听器和隐藏显示滚动

当时在当前类型上拉加载完所有数据以后,点击类型切换,在下拉加载数据时上拉加载不再显示。

解决:

因为inifinite.enable(false)使事件监听器已经被删除及滚动被隐藏,所以当在类型切换后上拉加载时,因为上拉加载已被删除,所以它的时间doInfinite()不会再被触发。

所以设置一个参数接收上拉加载传的$event,this.infinite=infinite;  并在类型切换时显示上拉加载事件

if( this.infinite){
this.infinite.enable( true);
}

猜你喜欢

转载自blog.csdn.net/qq_38990521/article/details/80843780
今日推荐