遇到問題
container.scrollTop 一直為0
不能賦值
watch: {
historyList () {
this.$nextTick(() => {
const container = this.$el.querySelector(`.scrolldivmain`)
console.log(container.scrollHeight)
console.log(container.scrollTop)
this.$refs.scrolldiv.scrollTo(0, container.scrollHeight + `px`)
container.scrollTop = container.scrollHeight
container.scrollTop(0, container.scrollHeight)
console.log(container.scrollTop) // container.scrollTop 一直為0
})
}
}
注意點
- 確定下滾動條是在哪裡顯示的
有個方法判斷下:
window.addEventListener(`scroll`, () => {
var scrollTop = this.$el.querySelector(`.scrolldivmain`)
// console.log(scrollTop.scrollHeight)
console.log(scrollTop.scrollTop) // 檢視列印的值是否有變化 如果有 則說明滾滾動條在這個標籤中
// scrollTop.scrollTop = scrollTop.scrollHeight // 可以嘗試下 滾動滾動條。一直在底部則可以設定成功
}, true)
解決方案
需要用到的地方 呼叫this.scrollToBottom()即可
<!--element-ui-->
<el-main class="scrolldivmain">
some code
</el-main>
methods: {
// 滾動到底部
scrollToBottom () {
this.$nextTick(() => {
setTimeout(() => {
var scrollTop = this.$el.querySelector(`.scrolldivmain`)
scrollTop.scrollTop = scrollTop.scrollHeight
}, 13)
})
}
}