vue實(shí)現(xiàn)動(dòng)態(tài)添加數(shù)據(jù)滾動(dòng)條自動(dòng)滾動(dòng)到底部的示例代碼
在使用vue實(shí)現(xiàn)聊天頁(yè)面的時(shí)候,聊天數(shù)據(jù)動(dòng)態(tài)加到頁(yè)面中,需要實(shí)現(xiàn)滾動(dòng)條也自動(dòng)滾動(dòng)到底部。這時(shí)我找到網(wǎng)上有個(gè)插件 vue-chat-scroll
https://www.npmjs.com/package/vue-chat-scroll
但是安裝后發(fā)現(xiàn)是用不了的,報(bào)錯(cuò)信息如下:
VM14383:27 [Vue warn]: Failed to resolve directive: chat-scroll
(found in <Hello>)
這個(gè)一直找不到原因,可能是我vue的版本是2.2不支持吧。。。后來(lái)找到一個(gè)解決辦法:
添加watch方法,監(jiān)聽(tīng)數(shù)據(jù)變量的變化,動(dòng)態(tài)添加滾動(dòng)條,一開(kāi)始我代碼如下:
watch: {
chatlog() {
var container = this.$el.querySelector("#chatContainer");
console.log(container);
container.scrollTop = container.scrollHeight;
}
}
但是發(fā)現(xiàn)滾動(dòng)條都是滾動(dòng)到倒數(shù)第二條數(shù)據(jù)上,所以需要如下代碼來(lái)解決:
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;
}
}
相應(yīng)在ul中添加一個(gè)id屬性為chatContainer
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue 使用自定義指令實(shí)現(xiàn)表單校驗(yàn)的方法
今天小編就為大家分享一篇vue 使用自定義指令實(shí)現(xiàn)表單校驗(yàn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
詳解vue中使用transition和animation的實(shí)例代碼
這篇文章主要介紹了詳解vue中使用transition和animation的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
聊聊Vue 中 title 的動(dòng)態(tài)修改問(wèn)題
這篇文章主要介紹了 Vue 中 title 的動(dòng)態(tài)修改問(wèn)題,文中通過(guò)兩種方案給大家介紹了title的傳遞問(wèn)題 ,需要的朋友可以參考下2019-06-06

