el-table 表格里面有tree 层级 进行勾选和反勾选

复制代码
// 勾选全选反勾选等实现
   setChecked(data) {
  for (let i = 0; i < data.length; i++) {
    const node = data[i];
    if (node.isCheck) {
      // 如果当前节点被勾选,将其子节点全部设置为选中状态
      if(node.children) {
        for (let j = 0; j < node.children.length; j++) {
        const childNode = node.children[j];
        childNode.isCheck = true;
        if (childNode.children){
          this.setChecked(childNode.children); // 递归地设置子节点的子节点为选中状态
        }
       
      }
      }else {
        this.deptList.forEach(item => {
  if (item.id === node.parentId) {
    if (item.children && item.children.every(child => child.isCheck === true)) {
      item.isCheck = true;
    }
  }
});
      }
  
    } else {
      // 如果当前节点未被勾选,将其子节点全部设置为未选中状态
      if(node.children) {
        for (let j = 0; j < node.children.length; j++) {
        const childNode = node.children[j];
        childNode.isCheck = false;
        if (childNode.children){
          this.setChecked(childNode.children); // 递归地设置子节点的子节点为未选中状态
        }
      }
      }else{
        this.deptList.forEach(item => {
  if (item.id === node.parentId) {
    if (item.children && item.children.every(child => child.isCheck === false)) {
      item.isCheck = false;
    }
  }
});
console.log(this.deptList,'最后的数据')

      }
    
    }
  }
},
相关推荐
江公望17 小时前
CSS variable 10分钟讲清楚
前端·css
YAY_tyy17 小时前
基于矩形区域的相机自动定位与飞行控制实现
前端·javascript·3d·cesium
随风一样自由17 小时前
React中实现iframe嵌套登录页面:跨域与状态同步解决方案探讨
javascript·react.js·ecmascript
Chicheng_MA17 小时前
OpenWrt WebUI 交互架构深度解析
javascript·lua·openwrt
pale_moonlight17 小时前
九、Spark基础环境实战(下)
大数据·javascript·spark
|晴 天|17 小时前
前端安全入门:XSS 与 CSRF 的攻与防
前端·安全·xss
黛色正浓17 小时前
【React】ReactRouter记账本案例实现
前端·react.js·前端框架
可爱又迷人的反派角色“yang”17 小时前
Mysql数据库(一)
运维·服务器·前端·网络·数据库·mysql·nginx
Aerelin17 小时前
爬虫图片采集(自动化)
开发语言·前端·javascript·爬虫·python·html
Highcharts.js17 小时前
Renko Charts|金融图表之“砖形图”
java·前端·javascript·金融·highcharts·砖型图·砖形图