vue中better-scroll 滚动到底部的问题

vue better-scroll 加载新的消息时,滚到到底端的异常现象。(怀疑是浏览器重绘的问题)
let disY=60; 这样写就正常滚动
let disY=el[el.length-1].clientHeight; 这样写滚动就很异常。详情见下图。

    RequestAxios(comment,function(){ 
    //从服务器加载刚刚发送的消息
      _this._intervalLoad(function(){
          _this.$nextTick(()=>{
              let el=_this.$refs.recordWrap.childNodes;
              //let disY=60; 这样写滚动正常
              //这样写就滚动不正常(每次从头开始滚,很不好的体验)
              let disY=el[el.length-1].clientHeight;
              if(el){
                  _this.chatScroll.scrollBy(0, _this.lastScrollY-disY,500);
                  setTimeout(()=>{
                    _this.lastScrollY= _this.chatScroll.y;
                  },50);
              }
          });
      }); 
    }); 
  },

图片描述图片描述

阅读 9.4k
1 个回答

因为 better-scroll 计算高度是不包含 margin 的,你可以在 wrapper 层使用 margin。内部建议用 padding。

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