이 기사는 요소 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!