Vue设置滚动条自动保持到最底端

需求描述:在开发中我们常常会遇到需要让滚动条保持到最底端的需求,比如在开发一个聊天框时,请求接口拿到消息列表数据,展示到前端页面时,需要让滚动条自动滚到最底端,以此来展示最后的聊天记录。同时,当发送一条新的消息时,也需要滚动条自动滚动到最底端,默认显示到最后一条数据,而不是在发送完一条新消息之后还需要手动滑动滚动条到最底端。

主要实现原理:

其实这个需求就是需要设置该元素(产生滚动条的元素)的scrollTop 等于scrollHeight

主要代码:

html 复制代码
<template>
	<div ref="box" class="box"></div>
</template>
html 复制代码
<script>
	// 滚动到底部
	scrollToBottom() {
	  // 这里是Vue2的写法
	  const box = this.$refs.box as HTMLElement
	  this.$nextTick(() => {
	    box.scrollTop = box.scrollHeight
	  })
	}
</script>
html 复制代码
<style>
.box {
	overflow: auto;
	height: 446px;  /*重要!一定要有高度才会生成滚动条*/
 }
 </style>

注意事项:

box容器必须设置具体的高度height,否则不会产生滚动条,(如果页面上看有滚动条,那可能是父元素产生的滚动条),如果没有给box容器设置高度的话,这个scrollToBottom方法就不会生效!

如果本篇博客对你有帮助,请点个赞吧o( ̄▽ ̄)d

相关推荐
IT_陈寒几秒前
Vite静态资源引用差点把我逼疯,原来要这样处理
前端·人工智能·后端
子兮曰13 分钟前
WSL 配 GPU 用 Docker 的折腾指南(2026 年版)
linux·前端·后端
LIUAWEIO22 分钟前
vue里面下载配置使用zepto vue中怎样使用zepto
javascript·vue.js·es6·zepto
lantian33 分钟前
TypeScript 三斜线指令完全指南:从入门到理解为什么不再需要它
前端·javascript·vue.js
用户9385156350734 分钟前
从"用栈实现队列"说起:深入理解 JavaScript 原型式面向对象
javascript
鹏多多35 分钟前
锐评CSDN最近上线的AI数字营销:烂完之前最后再捞一笔
前端·后端·程序员
先吃饱再说37 分钟前
从 WeUI 按钮组件学 BEM 命名规范:让 CSS 不再难维护
前端·代码规范
槑有老呆38 分钟前
从前端 HTTP 请求到 LLM 接口调用:一篇文章带你彻底搞懂
前端
ZengLiangYi40 分钟前
AI 编程工具的数据格式为什么不能统一
javascript·后端·架构
陈_杨42 分钟前
鸿蒙APP开发-带你走进旧物集的时间线与收藏管理
前端·javascript