首頁 > web前端 > js教程 > 主體

監聽element-ui table滾動事件的程式碼範例

不言
發布: 2019-03-26 10:29:48
轉載
3623 人瀏覽過

這篇文章帶給大家的內容是關於監聽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中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板