项目中遇到了列表分页,用户还要进行多选操作的情况,一般情况切换到新的一页,前一页选中的数据就没了,这里就要用到自带的两个属性row-key和reserve-selection(详细请自行查看elementUI官网)
话不多说 详细代码如下

<el-table
ref="table"
v-loading="loadingTable"
:data="tableData"
border
stripe
style="width: 100%"
@selection-change="handleSelectionChange"
:row-key="getRowKeys"
>
<el-table-column
align="center"
type="selection"
:reserve-selection="true"
width="55"
/>
.....
.....
.....
</el-table>
handleSelectionChange(list) {
console.log(list);
this.checkedList = list
},
getRowKeys(row) {
return row.orderId
},

就这简单的两个属性,即可实现分页切换,记住所有页面选中的数据。
最好给el-table加一个ref,在批量操作完之后 执行一下 this.$refs.table.clearSelection();
以清空先前的批量选中的数据,避免影响之后的批量操作。
本文介绍如何在使用ElementUI的表格组件时,结合row-key和reserve-selection属性实现在列表分页时保持用户多选状态。通过设置row-key为每一行的唯一标识(如orderId)和reserve-selection为true,可以跨页保留选择。同时,添加ref属性便于在批量操作后调用clearSelection()清除选中状态,避免影响后续操作。
352





