element的el-table中記錄滾動條位置的示例代碼
場景重現(xiàn):在項目中使用了keep-alive來緩存組件,且使用element中的table列表,但在項目中是對table進行了二次封裝,跟頁碼合在了一起。按照網(wǎng)上的直接對scrollTop賦值,賦值失敗了,還要加上setTimeout才能成功,雖然實現(xiàn)了功能,但是不知道原因,可以的話希望有人能解答。
廢話少說,直接賦上代碼。
<template>
<div class="table">
<el-table ref="table">
...
</el-table>
<wp-pager @page-change="pageChange" :total="total" v-if="pager" v-bind="$attrs" v-on="$listeners"></wp-pager>
</div>
</template>
<script>
import { WpPager } from '../pager'
export default {
data() {
return {
scrollTop: null
}
},
activated() {
this.saveScroll()
},
mounted() {
// 監(jiān)聽滾動條的位置
this.$refs.table.bodyWrapper.addEventListener('scroll', (res) => {
let height = res.target
this.scrollTop = height.scrollTop
},false)
},
beforeDestroy() {
this.$refs.table.bodyWrapper.removeEventListener('scroll', (res) => {
let height = res.target
this.scrollTop = height.scrollTop
},false)
},
methods: {
// 當頁碼改變的時候滾動條重新到頂部
pageChange (page) {
this.$emit('page-change', page)
this.scrollTop = 0
this.saveScroll()
},
// 這里如果直接賦值給this.$el.querySelector('.el-table__body-wrapper').scrollTop會失效,需要加上setTimeout才行。
saveScroll() {
this.$nextTick(()=> {
setTimeout(() => {
var scrollTop = this.$el.querySelector('.el-table__body-wrapper')
scrollTop.scrollTop = this.scrollTop
}, 13)
})
}
}
}
</script>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Vue?監(jiān)控數(shù)組的問題
這篇文章主要介紹了Vue?監(jiān)控數(shù)組的示例,主要包括Vue?是如何追蹤數(shù)據(jù)發(fā)生變化,Vue?如何更新數(shù)組以及為什么有些數(shù)組的數(shù)據(jù)變更不能被?Vue?監(jiān)測到,對vue監(jiān)控數(shù)組知識是面試比較常見的問題,感興趣的朋友一起看看吧2022-05-05
vue實現(xiàn)設(shè)置載入動畫和初始化頁面動畫效果
今天小編就為大家分享一篇vue實現(xiàn)設(shè)置載入動畫和初始化頁面動畫效果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
vue axios數(shù)據(jù)請求及vue中使用axios的方法
axios 是一個基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,在vue中數(shù)據(jù)請求需要先安裝axios。這篇文章主要介紹了vue axios數(shù)據(jù)請求及vue中使用axios的方法,需要的朋友可以參考下2018-09-09
elementplus?card?懸浮菜單的實現(xiàn)
本文主要介紹了elementplus?card?懸浮菜單的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
vue打包后dist目錄下的index.html網(wǎng)頁顯示空白的問題(兩種方案)
本文主要介紹了vue打包后dist目錄下的index.html網(wǎng)頁顯示空白的問題,主要介紹了兩種方式,具有一定的參考價值,感興趣的可以了解一下2023-11-11

