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 相关文章推荐
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 Javascript
实现动画效果核心方式的js代码
Sep 27 Javascript
快速学习jQuery插件 Form表单插件使用方法
Dec 01 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
Sep 23 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
Nov 21 Javascript
详解ES6语法之可迭代协议和迭代器协议
Jan 13 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
JS document form表单元素操作完整示例
Jan 13 Javascript
keep-alive不能缓存多层级路由菜单问题解决
Mar 10 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 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
javascript语言结构小记(一)
2011/09/10 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
详解python3中zipfile模块用法
2018/06/18 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python WSGI的深入理解
2018/08/01 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
详解python算法之冒泡排序
2019/03/05 Python
python求前n个阶乘的和实例
2020/04/02 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
办加油卡单位介绍信
2014/01/09 职场文书
装修设计师求职信
2014/02/26 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
学校端午节活动方案
2014/08/23 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书