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 相关文章推荐
myFocus slide3D v1.1.0 使用方法与下载
Jan 12 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
jquery中的$(document).ready()使用小结
Feb 14 Javascript
javascript实现简单的页面右下角提示信息框
Jul 31 Javascript
分享五个有用的jquery小技巧
Oct 08 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 Javascript
vue2.0 父组件给子组件传递数据的方法
Jan 15 Javascript
JS实现动态添加外部js、css到head标签的方法
Jun 05 Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 Javascript
详解vue 组件注册
Nov 20 Vue.js
ES6学习教程之Promise用法详解
Nov 22 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 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
php SQL防注入代码集合
2008/04/25 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
python+pygame简单画板实现代码实例
2017/12/13 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
python网络编程之五子棋游戏
2020/05/14 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
几个Linux面试题笔试题
2016/08/01 面试题
学期自我鉴定范文
2013/10/01 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
推广普通话标语
2014/06/27 职场文书
小学同学聚会感言
2015/07/30 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang