vue实现动态添加数据滚动条自动滚动到底部的示例代码


Posted in Javascript onJuly 06, 2018

在使用vue实现聊天页面的时候,聊天数据动态加到页面中,需要实现滚动条也自动滚动到底部。这时我找到网上有个插件 vue-chat-scroll

https://www.npmjs.com/package/vue-chat-scroll

但是安装后发现是用不了的,报错信息如下:

VM14383:27 [Vue warn]: Failed to resolve directive: chat-scroll
(found in <Hello>)

这个一直找不到原因,可能是我vue的版本是2.2不支持吧。。。后来找到一个解决办法:

添加watch方法,监听数据变量的变化,动态添加滚动条,一开始我代码如下:

watch: {
  chatlog() {
    var container = this.$el.querySelector("#chatContainer");
    console.log(container);
    container.scrollTop = container.scrollHeight;
   }
 }

但是发现滚动条都是滚动到倒数第二条数据上,所以需要如下代码来解决:

watch: {
  chatlog() {
   console.log("chatlog change");
   this.$nextTick(() => {
    var container = this.$el.querySelector("#chatContainer");
    console.log(container);
    container.scrollTop = container.scrollHeight;
   })
   // document.getElementById('chatContainer').scrollTop = document.getElementById('chatContainer').scrollHeight+150;

  }
 }

相应在ul中添加一个id属性为chatContainer

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js展开闭合效果演示代码
Jul 24 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
浅析Bootstrap表格的使用
Jun 23 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
浅谈Angular4实现热加载开发旅程
Sep 08 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
新手入门带你学习JavaScript引擎运行原理
Jun 24 Javascript
JavaScript中callee和caller的区别与用法实例分析
Jun 28 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 #Javascript
用Node提供静态文件服务的方法
Jul 06 #Javascript
vue使用监听实现全选反选功能
Jul 06 #Javascript
vue 实现数字滚动增加效果的实例代码
Jul 06 #Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 #Javascript
javascript显示动态时间的方法汇总
Jul 06 #Javascript
Django+Vue跨域环境配置详解
Jul 06 #Javascript
You might like
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
2014/11/22 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
如何实现JS函数的重载
2006/09/22 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
简易js代码实现计算器操作
2013/04/15 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
Python断言assert的用法代码解析
2018/02/03 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
python怎么调用自己的函数
2020/07/01 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
给同学的道歉信
2014/01/16 职场文书
检查接待方案
2014/02/27 职场文书
商务日语专业自荐信
2014/04/17 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
森林防火宣传标语
2014/06/27 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
2016十一国庆节感言
2015/12/09 职场文书
多人股份制合作协议书
2016/03/19 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers