> 웹 프론트엔드 > JS 튜토리얼 > element-ui 테이블 스크롤 이벤트를 수신하는 코드 예제

element-ui 테이블 스크롤 이벤트를 수신하는 코드 예제

不言
풀어 주다: 2019-03-26 10:29:48
앞으로
3641명이 탐색했습니다.

이 기사는 요소 UI 테이블 스크롤 이벤트를 모니터링하기 위한 코드 예제입니다. 필요한 친구가 참고할 수 있기를 바랍니다.

배경: 관리 플랫폼 프로젝트 작업 시 element-ui를 사용하는데, el-table의 스크롤 위치를 모니터링하여 최신 데이터를 얻어야 합니다. 그렇다면 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 중국어 웹사이트의 JavaScript Video Tutorial 칼럼을 주목하세요!

위 내용은 element-ui 테이블 스크롤 이벤트를 수신하는 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿