今天在写这个需求的时候 直接就用了

element.scrollTop = element.scrollHeight
发现最后总数会差一点像素到最底部
每次滚动条没有滑动到最底部,而是底部还有一条信息被隐藏
 
问题分析:
由于vue采用虚拟dom,我每次生成新的消息时获取到的div的scrollHeight的值是生成新消息之前的值,所以造成每次都是最新的那条消息被隐藏掉了!为了论证我的分析是正确的特意做个试验,把每次vue在重新渲染dom的前后时间点和DIV的scrollHeight打印出来以做对比:
  vue 发送消息聊天框发送最新的消息永远再最底部

 

 确实有偏差

使用 this.$nextTick()就好了

相关文章:

  • 2021-05-20
  • 2022-03-02
  • 2022-02-11
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2021-06-30
猜你喜欢
  • 2022-02-02
  • 2021-06-11
  • 2021-06-13
  • 2022-12-23
  • 2021-10-30
相关资源
相似解决方案