這篇文章帶給大家的內容是關於監聽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的綁定!
這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的JavaScript影片教學專欄!
以上是監聽element-ui table滾動事件的程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!