ホームページ  >  記事  >  ウェブフロントエンド  >  element-ui テーブル スクロール イベントをリッスンするコード例

element-ui テーブル スクロール イベントをリッスンするコード例

不言
不言転載
2019-03-26 10:27:583605ブラウズ

この記事で紹介するのは、要素 UI テーブルのスクロール イベントを監視するためのコード例です。一定の参考値があります。必要な友人は参照してください。お役に立てば幸いです。 。 ヘルプ。

背景: 管理プラットフォーム プロジェクトに取り組む場合、element-ui が使用され、el-table のスクロール位置を監視して最新のデータを取得する必要があります。 -テーブル?

準備: デフォルトのテクノロジー スタックは vue element-ui

テンプレート コード:

<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
        ...
    }

結論: ここまでで、テーブルへのバインドが完了しました。

この記事はここで終了しています。その他のエキサイティングなコンテンツについては、PHP 中国語 Web サイトの JavaScript ビデオ チュートリアル 列に注目してください。

以上がelement-ui テーブル スクロール イベントをリッスンするコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。