<div class="table-container" @scroll="handleScroll" ref="tableContainer">
<component-table :data="tableData" class="table-data">
</component-table>
</div>
data(){
return{
currentPage: 1,
pageSize: 50,
allTableData:[],
}
}
mounted(){
this.loadData();
}
loadData() {
const start = (this.currentPage - 1) * this.pageSize;
const end = start + this.pageSize;
let newData = this.allTableData.slice(start,end);
this.tableData.tableData = [...this.tableData.tableData, ...newData];
this.currentPage++;
},
handleScroll(event) {
const { scrollTop, scrollHeight, clientHeight } = event.target;
if (scrollTop + clientHeight >= scrollHeight - 200) {
console.log("90909",this.tableData.tableData.length,this.allTableData.length);
if(this.tableData.tableData.length <= this.allTableData.length){
this.loadData();
}
}
},
.table-container {
height: 400px;
overflow-y: auto;
}