el-table切换分页后保持勾选状态不变

 解决上述问题需要用到table组件中的两个属性:reserve-selection和row-key,使用方法如上图所示:

<el-table
  :row-key="(row)=>{ return row.id}"
  :row-class-name="tableRowClassName"
   @selection-change="handleSelectionChange">
   <el-table-column type="selection" width="100px" :reserve-selection="true"></el-table-column>
</el-table>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 Element UI 的 el-table 组件进行翻页时,如果需要保持数据的勾选状态,可以通过以下步骤实现: 1. 在数据源中添加一个字段来保存勾选状态,例如可以在每个数据对象中添加一个名为 `checked` 的属性。 2. 在 el-table 的列定义中,使用 `selection` 类型的列来显示勾选框,并绑定到数据对象的 `checked` 属性上。 3. 在 el-table 的 `@selection-change` 事件中,更新数据对象的 `checked` 属性。 4. 在 el-table 的 `@current-change` 事件中,记录当前页选中的数据对象。 5. 在翻页时,将当前页选中的数据对象保存下来,并在下一页加载完成后重新勾选这些数据。 下面是一个示例代码: ```html <template> <el-table :data="tableData" @selection-change="handleSelectionChange" @current-change="handleCurrentChange" ref="table" > <el-table-column type="selection"></el-table-column> <!-- 其他列定义 --> </el-table> </template> <script> export default { data() { return { tableData: [], // 数据源 selectedData: [], // 当前页选中的数据 }; }, methods: { handleSelectionChange(selection) { // 更新数据对象的 checked 属性 this.tableData.forEach((item) => { item.checked = selection.includes(item); }); }, handleCurrentChange(currentRow) { // 记录当前页选中的数据 this.selectedData = currentRow.filter((item) => item.checked); }, // 翻页时重新勾选数据 handlePageChange() { this.$nextTick(() => { this.$refs.table.toggleRowSelection(this.selectedData); }); }, }, watch: { // 监听翻页事件 currentPage(newPage, oldPage) { if (newPage !== oldPage) { this.handlePageChange(); } }, }, }; </script> ``` 这样,当你在 el-table 中进行翻页操作时,勾选的数据将会被保持,并在下一页加载完成后重新勾选。注意,上述代码仅为示例,具体实现可能需要根据你的业务需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值