需求:小程序ScrollView标签下拉时,在ios用户按住拉动区域不放开的情况下,不会页面抖动并重复请求数据
处理方式:ios端开启ScrollView自定义下拉监听,在页面持续按住不放或者中止下拉的情况下把下拉状态关闭,下拉复位后再请求数据。android端则使用onScrollToUpper的方法直接请求数据。
兼容原因:在小程序ScrollView标签开启refresherEnabled下拉功能时,安卓端页面下拉和复位不够流畅。
onUpper() {
this.init('flagReset');//刷新整页面
}
onRefresherPulling = (e) => {
this.setState({ triggered: true }, () => {
setTimeout(() => {
this.setState({ triggered: false })
}, 2000)
})
}
onRefresherRestore = () => {
this.init('flagReset');//刷新整页面
}
onRefresherAbort = (e) => {
this.setState({ triggered: false })
}
render(){
let isIos = Taro.getSystemInfoSync().system.indexOf("iOS") != -1
return(<ScrollView
scrollY
onScrollToUpper={isIos ? null : this.onUpper}
re