vue2获取div高度并默认滚动到底部

您所在的位置:网站首页 div滚动条设置 vue2获取div高度并默认滚动到底部

vue2获取div高度并默认滚动到底部

2023-08-21 11:31| 来源: 网络整理| 查看: 265

vue获取div节点,默认设置滚动到底部 前言

最近在做一个简单的聊天窗口,技术栈采用的是vue+element-ui 需求是每次进入该页面都会默认将滚动条滚动到底部,即显示最新的消息:

如果是整个页面滚动到顶部,写一句代码即可 window.scrollTo(0,0); 获取DOM的方法 // 方法1 let DOM = this.$el.querySelector(".className"); // 方法2 let newDom = document.getElementsByClassName('className'); 设置默认滚动到底部 方法1 setTimeout(() => { let container = this.$el.querySelector(".chat_content"); container.scrollTop = container.scrollHeight; }, 0) 方法2 this.$nextTick(() => { let container = this.$el.querySelector(".chat_content"); console.log(container.scrollHeight) container.scrollTop = container.scrollHeight; }); 特别注意 **采用上诉两个方法之后,还存在另一个问题,第一次进入时并未滚动到底部,之后才可以** 解决方法 把延时增加即可 setTimeout(() => { let container = this.$el.querySelector(".chat_content"); container.scrollTop = container.scrollHeight; }, 100) 总结

在vue中操作DOM时经常会遇到先执行了该方法,DOM并没有更新完成,这时就应该用到延时器或者vue中的nextTick方法

传送门(推荐阅读) nextTick方法介绍


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3