项目中遇到了列表分页,用户还要进行多选操作的情况,一般情况切换到新的一页,前一页选中的数据就没了,这里就要用到自带的两个属性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();
以清空先前的批量选中的数据,避免影响之后的批量操作。