scroll-view上拉到底部苹果手机会触发多次scrolltolower事件
发布于 6 年前 作者 ygao 12980 次浏览 来自 问答

scroll-view控件上拉到底部,模拟器和安卓真实手机看了正常不会出现多次触发bindscrolltolower事件,苹果真实手机会多次触发bindscrolltolower事件,导致苹果手机里面小程序做数据分页,会出现数据重复

3 回复

设置lower-threshold=

“0” 苹果真实手机测试还是会出现多次加载

这个问题解决方法是将data数据中设置一个加载标志tag,初始化为false,然后在定义上拉加载函数的时候先获取this.data.tag,然后判断如果为false则请求数据,在请求数据之前再this.setData({tag:true}),最后请求数据结束再 this.setData({tag:false}),最好在请求数据的时候使用一个定时器setTimeout(请求数据函数,延迟时间),比如延迟1秒再执行请求数据,然后在1秒之内采用一个动画或者文字比如:数据加载中…进行过渡,这样可以确保1秒钟的时间内不会再执行触底函数,设置一个过渡时间是考虑到用户的上拉速度确保延迟的时间可以平滑地过渡完用户的整个上拉动作,也可以同时将触发触底函数的距离设置小一些,缩短用户的上拉周期。

问题加一

回到顶部