Vue如何設(shè)置滾動條自動保持到最底端
Vue設(shè)置滾動條自動保持到最底端
需求描述:在開發(fā)中我們常常會遇到需要讓滾動條保持到最底端的需求,比如在開發(fā)一個聊天框時,請求接口拿到消息列表數(shù)據(jù),展示到前端頁面時,需要讓滾動條自動滾到最底端,以此來展示最后的聊天記錄。同時,當(dāng)發(fā)送一條新的消息時,也需要滾動條自動滾動到最底端,默認(rèn)顯示到最后一條數(shù)據(jù),而不是在發(fā)送完一條新消息之后還需要手動滑動滾動條到最底端。
主要實(shí)現(xiàn)原理:
其實(shí)這個需求就是需要設(shè)置該元素(產(chǎn)生滾動條的元素)的scrollTop 等于scrollHeight
主要代碼:
<template> <div ref="box" class="box"></div> </template>
<script>
// 滾動到底部
scrollToBottom() {
// 這里是Vue2的寫法
const box = this.$refs.box as HTMLElement
this.$nextTick(() => {
box.scrollTop = box.scrollHeight
})
}
</script><style>
.box {
overflow: auto;
height: 446px; /*重要!一定要有高度才會生成滾動條*/
}
</style>注意事項:
box容器必須設(shè)置具體的高度height,否則不會產(chǎn)生滾動條,(如果頁面上看有滾動條,那可能是父元素產(chǎn)生的滾動條),如果沒有給box容器設(shè)置高度的話,這個scrollToBottom方法就不會生效!
補(bǔ)充:Vue項目中讓滾動條始終處于最底部
Vue項目中讓滾動條始終處于最底部
效果圖:

核心代碼:
// 讓滾動條始終在最底部
this.$nextTick(() => {
this.$refs.messageContent.scrollTop = this.$refs.messageContent.scrollHeight
})到此這篇關(guān)于Vue如何設(shè)置滾動條自動保持到最底端的文章就介紹到這了,更多相關(guān)Vue滾動條自動保持到最底端內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項目登錄模塊滑塊拼圖驗證功能實(shí)現(xiàn)代碼(純前端)
滑塊驗證作為一種反機(jī)器人的工具,也會不斷發(fā)展和演進(jìn),以適應(yīng)不斷變化的威脅,這篇文章主要給大家介紹了vue項目登錄模塊滑塊拼圖驗證功能實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
el-date-picker默認(rèn)結(jié)束為當(dāng)前時分秒的操作方法
在element?ui中的日期時間選擇組件中默認(rèn)是00:00,現(xiàn)在需求是點(diǎn)擊默認(rèn)結(jié)束時間為當(dāng)前時分秒,查了很多資料寫的都不準(zhǔn)確?,今天給大家分享el-date-picker默認(rèn)結(jié)束為當(dāng)前時分秒的操作方法,感興趣的朋友一起看看吧2024-01-01

