问题描述:
/**
* 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);
}
当时在当前类型上拉加载完所有数据以后,点击类型切换,在下拉加载数据时上拉加载不再显示。
解决:
因为inifinite.enable(false)使事件监听器已经被删除及滚动被隐藏,所以当在类型切换后上拉加载时,因为上拉加载已被删除,所以它的时间doInfinite()不会再被触发。
所以设置一个参数接收上拉加载传的$event,this.infinite=infinite; 并在类型切换时显示上拉加载事件
if(
this.infinite){
this.infinite.enable(
true);
}