您好,登錄后才能下訂單哦!
小編給大家分享一下javascript如何監聽element-ui table滾動事件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
背景:做管理平臺的項目,用到了element-ui,需要通過監聽el-table滾動的位置來獲取最新的數據,那么怎么樣監聽el-table的滾動呢?
準備:我們默認的技術棧是 vue+element-ui
template代碼:
<el-table :data="logList" :show-header="false" row-class-name="table-row-class" height="700" ref="table" @row-click="rowClick"> <el-table-column type="expand"> <el-table-column label="log信息" prop="message"> </el-table-column> </el-table>
綁定監聽事件
mounted() { // 獲取需要綁定的table this.dom = this.$refs.table.bodyWrapper this.dom.addEventListener('scroll', () => { // 滾動距離 let scrollTop = this.dom.scrollTop // 變量windowHeight是可視區的高度 let windowHeight = this.dom.clientHeight || this.dom.clientHeight // 變量scrollHeight是滾動條的總高度 let scrollHeight = this.dom.scrollHeight || this.dom.scrollHeight if (scrollTop + windowHeight === scrollHeight) { // 獲取到的不是全部數據 當滾動到底部 繼續獲取新的數據 if (!this.allData) this.getMoreLog() console.log('scrollTop', scrollTop + 'windowHeight', windowHeight + 'scrollHeight', scrollHeight) } }) }
獲取到新的數據后,調整滾動條的位置
getMoreLog() { ... this.dom.scrollTop = this.dom.scrollTop - 100 ... }
結語:至此我們已經完成了對table的綁定!
以上是“javascript如何監聽element-ui table滾動事件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。