vue实现动态添加数据滚动条自动滚动到底部的示例代码
在使用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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
vue 监听某个div垂直滚动条下拉到底部的方法
如下所示: this.$nextTick(() => { const el = document.querySelector('.act-not'); const offsetHeight = el.offsetHeight; el.onscroll = () => { const scrollTop = el.scrollTop; const scrollHeight = el.scrollHeight; if ((offsetHeight + scrollTop) - scrollHeig
-
vue 每次渲染完页面后div的滚动条保持在最底部的方法
实例如下: //每次页面渲染完之后滚动条在最底部 updated:function(){ this.$nextTick(function(){ var div = document.getElementById('dialogue_box'); div.scrollTop = div.scrollHeight; }) } //第一次页面渲染完之后滚动条在最底部 methods:function(){ this.$nextTick(function(){ var div = document.ge
-
vue进入页面时滚动条始终在底部代码实例
本文实例为大家分享了vue进入页面时滚动条始终在底部的具体代码,供大家参考,具体内容如下 mounted () { this.scrollToBottom(); }, //每次页面渲染完之后滚动条在最底部 updated:function(){ this.scrollToBottom(); }, methods:{ scrollToBottom: function () { this.$nextTick(() => { var container = this.$el.querySelector
-
vue 纯js监听滚动条到底部的实例讲解
在网页中,我们会遇到很多在滚动条到底部的时候有数据正在加载的事件,那么怎样用vue去实现这样的内容呢?本篇只给出一个雏形,结合vue的生命周期用纯javascript写的一个监听函数,后续操作数据库的部分暂且不议. 1.怎样用纯js判断滚动条是否到底部? 先了解几个关键词: (1)滚动条到顶部的位置:scrollTop (2)当前窗口内容可视区:windowHeight (3)滚动条内容的总高度:scrollHeight 触发监听的函数是: window.onscroll = function(
-
vue 中滚动条始终定位在底部的方法
滚动条定位在底部,首先想到的是,动态修改滚动条到顶部的距离等于div的高度, 代码实现: var div = document.getElementById('data-list-content') div.scrollTop = div.scrollHeight 但是问题来了,滚动条并没有到达底部,而是距离底部还有一点距离(一脸懵逼) 估计是动态加载数据时,数据还未加载,滚动条就已经执行,知道原因了,那就实践呗. 第二次尝试,利用vue的watch监控数据的改变,然后动态修改滚动条到顶部的距离
-
vue实现动态添加数据滚动条自动滚动到底部的示例代码
在使用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不支持
-
JS动态添加与删除select中的Option对象(示例代码)
如下所示: 复制代码 代码如下: //动态删除select中的所有options: function delAllOptions(){ document.getElementById("user_dm").options.length=0; } //动态删除select中的某一项option: function delOneOption(index){ document.getElementById("user_dm").o
-
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
一共两个页面,分别如下: 一.创建页面create.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1
-
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
有时候我们需要页面滚动条滚动到某一固定的位置,一般使用Window scrollTo() 方法. 语法就是:scrollTo(xpos,ypos) xpos:必需.要在窗口文档显示区左上角显示的文档的 x 坐标. ypos:必需.要在窗口文档显示区左上角显示的文档的 y 坐标. 例如滚动内容的坐标位置100,500: window.scrollTo(100,500); 好了,这个scrollTop这儿只是简单介绍一下,下面我们介绍下veu-router中的滚动行为. 使用前端路由,当切换到新路由
-
vue实现tab标签(标签超出自动滚动)
当创建的tab标签超出页面可视区域时自动滚动一个tab标签距离,并可手动点击滚动tab标签,实现效果请看GIF图 效果预览GIF图 <template> <div class="main-box"> <button @click="add">添加</button> <div class="main-box-tab"> <i @click="previous"&g
-
vue实现两个区域滚动条同步滚动
本文实例为大家分享了vue实现两个区域滚动条同步滚动的具体代码,供大家参考,具体内容如下 项目开发中,遇到一个比较两个form差异的需求,但当item过多就需要滚动条,这里就用到了滚动条同步的地方,其实原理和git的差异比较差不多,这里来做一下分析. 这是效果图: 要点分析: 其实主要是通过ref属性来操控两个div的scrollTop属性 <div class="customer-span" ref="systemForm" @scroll="sy
-
Android实现动态添加数据与堆叠折线图详解流程
目录 效果视频 引用 描述 导包 代码分析 初始化 动态添加数据 温度数据 湿度数据 光照数据 动态添加X轴时间值 初始化 自动刷新时间实现 尾言 效果视频 引用 描述 本示例采用的是非常.非常.非常好用的一款第三方SDK--helloCharts 传送门 导包 第一步 :导入maven maven { url 'https://jitpack.io' } 第二步:导入依赖 implementation 'com.github.lecho:hellocharts-library:1.5.8@aa
-
Vue.js动态添加、删除选题的实例代码
大家先看看页面效果吧,当当当当``````````````````````` 图中第二个选题是小颖点击了"新增选题"按钮,然后出来的,当你点击了"删除选项"或"删除选题"按钮,就会删除相应的选项和选题. html代码 <template> <div class="main-container"> <div class="form-horizontal"> <temp
-
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
要制作一个在线聊天的程序,在做最后的修饰时,需要对获得的信息即时滚动以保证用户总能看到最新消息. 聊天程序是基于AJAX设计的,没有用框架,消息容器是一个DIV,所以问题就在于如何控制DIV的滚动条. 但同样的代码拿到我这里却完全失效,又仔细查了下资料说XHTML标准下scrollTop的值恒为0,解决办法是使用 document.documentElement.scrollTop代替document.body.scrollTop,讲了半天所解决的是整个页 面的滚动条.这个方法我是用不了了,因为
-
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
非常不多说了,直接给大家贴代码了,具体代码如下所示: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,use
随机推荐
- php的list()的一步操作给一组变量进行赋值的使用
- PowerShell查看本机文件关联程序和默认打开程序的方法
- 在肉鸡上架设全能服务器的方法介绍
- 遗传算法之Python实现代码
- ASP.NET中实现jQuery Validation-Engine的Ajax验证实现代码
- php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
- PHP基于新浪IP库获取IP详细地址的方法
- php单件模式结合命令链模式使用说明
- php使用str_replace替换多维数组的实现方法分析
- 使用Python实现BT种子和磁力链接的相互转换
- js导出excel文件的简洁方法(推荐)
- Shell实现多级菜单系统安装维护脚本实例分享
- sqlserver性能调优经验总结
- jquery实现兼容IE8的异步上传文件
- Spring Boot集成springfox-swagger2构建restful API的方法教程
- PHP上传 找不到临时文件夹的解决方法
- 约瑟夫经典问题扩展成双向约瑟夫问题
- mysql5.7.24 解压版安装步骤及遇到的问题小结
- android查看网络图片的实现方法
- 为什么说MySQL单表数据不要超过500万行