需求: 开发中我们常常会用到表格的复选框功能,在表格进行翻页或者切换条数时,希望还能记住之前的勾选项。
本文针对项目中使用ElementUI组件时,实现该功能。本人在这个问题上耗费了好一段时间,下面具体看实现:
<el-table :data="tableData" row-key="id" ref="table"
border fit highlight-current-row style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="45" :reserve-selection="true"></el-table-column>
</el-table>
1. 通过type="selection"设置复选框列,重点在于 reserve-selection 属性,设置为true时,数据更新之后保留之前选中的数据。
2. 重点在于需要表格属性“row-key”的配合,在使用 reserve-selection 功能的情况下,该属性是必填的。将row-key设置为表格中唯一的字段名称。这样就实现了后端分页在翻页或切换条数时,记住之前的复选框选项。
本人刚开始是想通过保存已选择复选框的数据,重新获取到数据后,通过this.$refs.table.toggleRowSelection(数据)方法重新设置勾选项,但是一直没有成功。