vuejs动态添加数据,滚动条滚动到底部问题
背景
在使用vue动态添加数据时,和聊天的功能比较相似,想的是新来一条信息添加到聊天的底部,然后滚动条滚到底
原因
功能实现比较简单, 但是现在的问题是, 因为vue视图渲染和取DOM之间有一个时间差,导致取DOM的时候,元素还没有渲染出来,所以取到的scrollHeight不足
现象
每次来新数据,底部显示永远是倒数第二条,想看最后一条,需要滚动一下才行,这样显然不行
尝试解决
在滚动代码document.getElementById('myData').scrollTop = document.getElementById('myData').scrollHeight;
加一个延迟,但是会出现别外一个问题,就是滚动条有跳跃
演示地址
最后:求解决方案,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
watch 你的数据 绑定你的 scroll操作
跟题主遇到了同样的问题,用上面几个答案给的watch方法依然解决不了,想来大概是因为watch监测的也只是数据变化,最后用update钩子函数解决了:
Vue2.x亲测有效。
楼主解决了吗?我遇到了同样的问题,如已解决求分享。