vue3根据数据取消el-table选中状态获取到最新数据

原始数据:

javascript 复制代码
//el-table点击复选框事件
function getSelected(selection, row){
  //判断是否是已选过数据 ==0为没有选,>0有选过
  if(initial.value>0 ){
    let isCheck = false //是否取消 true=取消 false=不取消
    //循环判断已选的数据是否包含当前点击获取到的数据
    feeCodeData.value.forEach(imgItem => {
      //包含当前数据,表示取消选中的操作,需要从已选数据中删除
      if (imgItem.id === row.id) {
        // 先findIndex拿到index,否则直接否则直接splice(imgItem,1)是会删除失败的!
        feeCodeData.value.splice(feeCodeData.value.findIndex((item) => item.id === row.id), 1)
        isCheck = true
      }
    })
    //已选数据中不包含当前数据,表示选中的操作,需要添加到已选的数据中
    if(!isCheck){
      feeCodeData.value.push(row)
    }
  }
  //没有已选数据,直接将选中的数据添加到数组中
  else{
    feeCodeData.value.push(row)
  }
}

结果显示:

相关推荐
雯0609~14 分钟前
js:循环查询数组对象中的某一项的值是否为空
开发语言·前端·javascript
bingbingyihao20 分钟前
个人博客系统
前端·javascript·vue.js
天天扭码1 小时前
一杯咖啡的时间吃透一道算法题——2.两数相加(使用链表)
前端·javascript·算法
NetX行者1 小时前
详解正则表达式中的?:、?= 、 ?! 、?<=、?<!
开发语言·前端·javascript·正则表达式
vvilkim1 小时前
React 高级特性与最佳实践
前端·javascript·react.js
拉不动的猪1 小时前
vue与react中监听的简单对比
前端·javascript·面试
涵信1 小时前
第七节:React HooksReact 18+新特性-并发模式(Concurrent Mode)解决了什么问题?
前端·javascript·react.js
冴羽1 小时前
SvelteKit 最新中文文档教程(21)—— 最佳实践之图片
前端·javascript·svelte
纪元A梦2 小时前
华为OD机试真题——跳格子3(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
BillKu2 小时前
遵守 Vue3 的单向数据流原则:父组件传递对象 + 子组件修改对象属性,安全地实现父子组件之间复杂对象的双向绑定示例代码及讲解
javascript·vue.js·elementui