请教better-scroll横向滚动的分页方案

移动端项目,滚动的组件用better-scroll
因为数据量太大要用分页
横向滚动,所以要配scrollX为true这个属性,
但赔了这个属性,就不能用 pullingUp这个事件了,
所以我有用 scrollEnd这个事件,在当前位置+50大于等于maxScrollX时,请求新的数据
拿到新数据后,在调用refresh方法
每次那五条数据
代码如下

      this.$nextTick(() => {
        if (!this.scroll) {
          this.scroll = new BScroll(this.$refs.wrapper, {
            click: true,
            scrollX: true
          })
          const maxScrollX = this.scroll.maxScrollX
          this.scroll.on('scroll', (pos) => {
            console.log(pos, 'scroll pos')
          })
          this.scroll.on('scrollEnd', (pos) => {
            if (pos.x < maxScrollX + 50 && this.activityList.length < this.total){
              this.$emit('loadMore', 'activity')
              this.scroll.refresh()
            }
          })
        }
      })
  初始化的滚动是没问题的
  现在出现的问题是,连续横向移动在间隔时间很短的情况下,会出现新数据拿到了,可以在devtools看到新数据放入列表中了,但新的数据对应的dom不能移入到页面中,就像better-scroll没监听到有新数据一样
  
  但如果我很缓慢的操作横向拖动,当拖动停稳后再操作第二下,新情求的数据和对应的dom就可以被移入页面
阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题