el-table 做一个分页组件支持全选
时间: 2023-08-14 08:05:46 浏览: 93
ant design的table组件实现全选功能以及自定义分页
您好,针对您的问题,您可以参考以下步骤来实现el-table分页组件支持全选:
1. 在el-table头部添加一个checkbox,用来全选当前页的数据,代码如下:
```html
<el-table-column type="selection" width="55"></el-table-column>
```
2. 在el-table上添加v-model,用来绑定当前选中的数据,代码如下:
```html
<el-table v-model="selectedData" :data="tableData" :pagination="pagination">
```
3. 在el-pagination上添加@size-change和@current-change事件,用来监听分页变化事件,代码如下:
```html
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pagination.currentPage" :page-sizes="[10, 20, 30, 50]"
:page-size.sync="pagination.pageSize" :total="total">
</el-pagination>
```
4. 在methods中添加handleSizeChange和handleCurrentChange方法,用来处理分页变化事件,代码如下:
```javascript
methods: {
handleSizeChange (val) {
this.pagination.pageSize = val
this.loadTableData()
},
handleCurrentChange (val) {
this.pagination.currentPage = val
this.loadTableData()
},
loadTableData () {
// 加载当前页数据
}
}
```
5. 在computed中添加selectedData和total属性,分别用来计算当前选中的数据和数据总数,代码如下:
```javascript
computed: {
selectedData () {
return this.tableData.filter(item => this.selection.includes(item.id))
},
total () {
return this.tableData.length
}
}
```
这样就可以实现el-table分页组件支持全选了,希望对您有所帮助!
阅读全文