elementUI的table分页多选,保持数据的选中状态

vue项目中遇到一个需求,一个优惠券用在多个商品上面,创建优惠券的时候把这些商品添加上。
选中一个在上方添加一个,取消一个,上方减少一个。且翻页后选中状态保持不变。
最终的样式
在这里插入图片描述

刚开始做想用纯JS/数组api写出来(已弃用,留作笔记)

用到的:

  • select 当用户手动勾选数据行的 Checkbox 时触发的事件 selection, row

判断商品是否处在被勾选的状态,是,将其添加到数组中,否,取出该商品的索引,根据索引将数组中的改商品删掉。
html
在这里插入图片描述
js
在这里插入图片描述

由于分页多选时状态不能保留,决定用element-ui提供的简单方法

  • 首先设置::row-key="getRowKey"
    在这里插入图片描述
  • 在复选框增加属性
    :reserve-selection="true"
  • 在methods方法中将数据赋给自定义好的数组中
    在这里插入图片描述

至此功能已经实现。后续做了优化,选中的数据也可以点击进行删除,并且使勾选状态取消。

在这里插入图片描述
在这里插入图片描述

  • 点击后先通过索引将该条数据从数组中删除
  • 将对应的数据状态改为false
  • 重新对数组进行赋值,改变数组长度
    在这里插入图片描述
    遗留问题::row-key的使用
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值