elementui table 实现无限滚动
时间: 2023-10-24 20:09:01 浏览: 90
ElementUI table 组件提供了一个 `load` 方法,可以在用户滚动到表格底部时触发,从而实现无限滚动加载数据的效果。
具体实现步骤如下:
1. 在 `el-table` 组件上添加 `@load` 事件监听,指向一个自定义的方法。
```
<el-table @load="loadData"></el-table>
```
2. 在自定义的方法中,发送异步请求获取新的数据,并将数据追加到表格数据数组中。
```
loadData() {
// 发送异步请求获取新的数据
// ...
// 将新数据追加到表格数据数组中
this.tableData = this.tableData.concat(newData)
}
```
3. 在 `el-table` 组件上添加 `:row-key` 属性,指定每一行数据的唯一标识,以便 ElementUI 在滚动加载时能够正确地识别出哪些是新数据。
```
<el-table :row-key="row => row.id" @load="loadData"></el-table>
```
完整示例代码如下:
```
<template>
<el-table :data="tableData" :row-key="row => row.id" @load="loadData">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<!-- 更多列 -->
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: []
}
},
methods: {
loadData() {
// 发送异步请求获取新的数据
// ...
// 将新数据追加到表格数据数组中
this.tableData = this.tableData.concat(newData)
}
}
}
</script>
```
阅读全文