收藏
回答

关于上拉加载的问题,我已搜过社区相关帖子,但未能很好解决

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug onReachBottom 微信iOS客户端 iOS 6.6.7 1.9.4


- 当前 Bug 的表现

只有滚动条的情况才能触发onReachBottom,所以这个页面的高度我只能设置110vh这样才能有滚动条,很明显这个地方是有瑕疵的,但是我不知道如何解决,因为不这么设置就无法触发,或者就只触发一次



-js 相关代码

onReachBottom:function () {
      console.log('上拉加载')
      if(this.data.flag){
          wx.showLoading({
              title: '已经没有数据了...',
          })
          setTimeout(()=>{
              wx.hideLoading()
          },1500)
          return
      }
      let {options,page}=this.data;
      this.data.page+=1
      this.setData({
          page:this.data.page,
      })
      api.getRents(options.type,this.data.page, (res)=> {
          if(res.data=[]){
              this.setData({
                  flag:true
              })
          }
          console.log(res)
          this.setData({
              rents: this.data.rents.concat(res.data),
          })
      })


如果是样式问题的话 我这里的view 设置百分之100 是不行的,我page同样也设置了百分之百


最后一次编辑于  2018-06-05  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

9 个回答

  • 陈
    2018-06-05

    不是很理解你的意思,但是我看你标题的话,

    上拉加载

    有一个生命周期,你可以在那里面实现,但是可能会出现下拉后不上去的情况,所以要拉上去然后就可以再次触发

    2018-06-05
    赞同
    回复 7
    • J
      J
      2018-06-05

      就是使用page自带的onReachBottom来进行触发的,但触发的有问题,比如说高度还要大于百分之100才行 不然只触发一次

      2018-06-05
      赞同
      回复
    • 陈
      2018-06-05回复J

      没有尝试过你的方法,我使用的是生命周期函数

      2018-06-05
      赞同
      回复
    • J
      J
      2018-06-05回复

      你的生命周期函数 不是onReachBottom吗?

      2018-06-05
      赞同
      回复
    • 陈
      2018-06-05回复J

      看错了,你看看你拉上去后让它下来然后再拉

      2018-06-05
      赞同
      回复
    • J
      J
      2018-06-05回复

      不明白你是什么意思。。。

      2018-06-05
      赞同
      回复
    查看更多(2)
  • 南山起云
    南山起云
    2018-07-11

    刚开始我也遇到你这种情况,将page中的高度100%去掉,将外层容器的高度设置为100%,就会正常触发上拉事件

    2018-07-11
    赞同
    回复