uni-app向上滚动根据内容是否滚动到顶部判断是否应该刷新
大致思路
通过判断滚动高度来确定是否应该开启刷新,如果滚动高度大于1(有时滚动到顶部显示的scrollTop为零点几)就关闭下拉刷新,
如果滚动高度小于等于1就开启下拉刷新。
html
<template>
<scroll-view
scroll-y="true"
:refresher-enabled="isSupport"
:refresher-triggered="trigger"
@scroll="scrollPage1"
@refresherrefresh="getNewDate">
</scroll-view>
</template>
JS
data() {
return {
isSupport:true,
trigger:true,
TimeOut:null,
viewScrollTop:null
}
},
methods:{
scrollPage1(e){
this.viewScrollTop = e.target.scrollTop;
if(e.target.scrollTop < 1){
console.log("开启下拉加载");
this.isSupport = true
}else{
console.log("关闭下拉加载");
this.isSupport = false
}
},
getNewDate(){
this.trigger = true
this.TimeOut = setInterval(()=>{
console.log("获取数据");
uni.showToast({
title:"获取最新数据",
duration: 1500
});
this.trigger = false
clearInterval(this.TimeOut)
this.TimeOut = null
},2000)
},
}