vue 中滾動條始終定位在底部的方法
滾動條定位在底部,首先想到的是,動態(tài)修改滾動條到頂部的距離等于div的高度,
代碼實現(xiàn):
var div = document.getElementById('data-list-content') div.scrollTop = div.scrollHeight
但是問題來了,滾動條并沒有到達底部,而是距離底部還有一點距離(一臉懵逼)
估計是動態(tài)加載數(shù)據(jù)時,數(shù)據(jù)還未加載,滾動條就已經(jīng)執(zhí)行,知道原因了,那就實踐唄。
第二次嘗試,利用vue的watch監(jiān)控數(shù)據(jù)的改變,然后動態(tài)修改滾動條到頂部的距離
代碼實現(xiàn):
watch: { 'processData': 'scrollToBottom' } scrollToBottom: function () { var div = document.getElementById('data-list-content') div.scrollTop = div.scrollHeight }
再次崩潰了,好像沒有毛用(陷入苦思)。
這個時候我想到了$nextTick 。
簡單的介紹下$nextTick:
Vue 實現(xiàn)響應(yīng)式并不是數(shù)據(jù)發(fā)生變化之后 DOM 立即變化,而是按一定的策略進行 DOM 的更新。
$nextTick 是在下次 DOM 更新循環(huán)結(jié)束之后執(zhí)行延遲回調(diào),在修改數(shù)據(jù)之后使用 。
既然$nextTick是在下次DOM更新時執(zhí)行的,不正好符合我們的要求嘛(小激動)。
代碼實現(xiàn):
watch: { 'processData': 'scrollToBottom' } scrollToBottom: function () { this.$nextTick(() => { var div = document.getElementById('data-list-content') div.scrollTop = div.scrollHeight }) }
運行代碼,成功了。
以上這篇vue 中滾動條始終定位在底部的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue+springmvc導出excel數(shù)據(jù)的實現(xiàn)代碼
這篇文章主要介紹了vue+springmvc導出excel數(shù)據(jù)的實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06vuecli+AXdownload下載組件封裝?+css3下載懸浮球動畫效果
當觸發(fā)下載功能的時候,會觸發(fā)一個下載動畫,下載懸浮球會自動彈出,并且閃爍提示有新的下載任務(wù)直到下載任務(wù)完場提示,接下來通過本文介紹vuecli+AXdownload下載組件封裝?+css3下載懸浮球動畫效果,需要的朋友可以參考下2024-05-05Vue實現(xiàn)讓頁面加載時請求后臺接口數(shù)據(jù)
這篇文章主要介紹了Vue實現(xiàn)讓頁面加載時請求后臺接口數(shù)據(jù)2022-08-08Vue3中使用pnpm搭建monorepo開發(fā)環(huán)境
這篇文章主要為大家介紹了Vue3中使用pnpm搭建monorepo開發(fā)環(huán)境示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08