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 相关文章推荐
javascript 写的一个简单的timer
Jul 30 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
May 08 Javascript
浏览器页面区域大小的js获取方法
Sep 21 Javascript
JS格式化数字金额用逗号隔开保留两位小数
Oct 18 Javascript
jquery使用jxl插件导出excel示例
Apr 14 Javascript
上传文件返回的json数据会被提示下载问题解决方案
Dec 03 Javascript
js初始化验证实例详解
Nov 26 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
vue中渲染对象中属性时显示未定义的解决
Jul 31 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
Aug 25 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
微信支付开发发货通知实例
2016/07/12 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
使用python实现baidu hi自动登录的代码
2013/02/10 Python
python dict remove数组删除(del,pop)
2013/03/24 Python
Python字典操作简明总结
2015/04/13 Python
详细分析python3的reduce函数
2017/12/05 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
python list转置和前后反转的例子
2019/08/26 Python
Python requests模块cookie实例解析
2020/04/14 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
一份比较全的PHP面试题
2016/07/29 面试题
二年级语文教学反思
2014/02/02 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
北京爱情故事观后感
2015/06/12 职场文书
如何撰写促销方案?
2019/07/05 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers