当拖至页面最下方时,小程序onReachBottom方法有时会不执行

整个页面就是一个view包着一个轮播、一个横向scroll-view和一个纵向scroll-view
当整个页面滑动至最下方时改变纵向scroll-view数据从而达到上拉加在更多效果,代码如下:

onReachBottom: function () {
    var that = this;
    console.log(that.data.scroll_y_list)
    setTimeout(function(){
      console.log(333)
      that.setData({
        loadingShow: true,
        scroll_y_list: that.data.scroll_y_list.concat(that.data.appendList)
      })
    },100);
  },

但是在模拟器中滚动鼠标滑轮过快,十次中会有一两次不会执行onReachBottom,第一个congsole都不执行。在json中设置onReachBottomDistance也试过了没有效果

阅读 42k
10 个回答

你好朋友,在用微信开发者工具新建页面时,会自动在页面中生成 onReachBottom 函数,检查下是不是重复了,导致你自己写的被覆盖了。这个问题我找了两天(;′⌒`),希望对看到的朋友有用!

外层用view,里层纵向sroll-view绑定bindscroll事件,事件中用

wx.pageScrollTo({
    scrollTop: 0,
    duration: 0
})

是有一个350ms的延时,所以你请求完数据,要加到列表的时候,setTimeout一下,时间写360就ok了,完美解决。

新手上路,请多包涵

你找个问题解决了吗?我也遇到了这个问题了

同问,
慢慢的滑动触底每次都能正常触发onReachBottom,一旦滑的特别快了有时就不触发onReachBottom了;
然后往上滑动onReachBottomDistance里设置的距离,再往下滑就又能触发了;

把当前页的最小高度设置为100vh,就可以了

楼住,此问题解决了???

在对应json中配置

"onReachBottomDistance":50,

数值根据自己需要

新手上路,请多包涵

page加个height:100%

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏