element 中table表格多选,翻页或者切换不同数据后保存之前选择的数据并返显选中的状态
解决方案
Element中有一个自带的方法 reserve-selection, 仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key)。
1 <el-table :row-key="getRowKeys" @selectionchange="selectionChange" :data="tableData"> 2 <el-table-column type="selection" :reserve-selection="true" /> 3 </el-table>
- el-table :row-key="getRowKeys" // 行数据的 Key,唯一标识
- el-table-column :reserve-selection="true" // 为 true 则会在数据更新之后保留之前选中的数据
有了上面两个属性,页面会自动记录所有选中的数据。
1 methods: { 2 // 选中的列 3 selectionChange(selection) { 4 this.checkArr = selection; 5 }, 6 // 确定唯一的key值 7 getRowId(row) { 8 return row.ID 9 } 10 }