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,'最后的数据')

      }
    
    }
  }
},
相关推荐
程序员大阳19 分钟前
副队长JavaScript教程(55)-DOM节点增删改查
javascript·dom·增删改查·节点·克隆
前端架构师-老李30 分钟前
HTML与CSS基础第四课—strong、em、b、i 各表示什么
前端·css·html
king王一帅1 小时前
AI 时代一群人在卷笔记软件,我想先把 Markdown 编辑器的底层做好
前端·ai编程·markdown
用户11481867894841 小时前
盲水印:DCT-QIM 从原理到踩坑
前端
程序0071 小时前
天地图实现收货地址定位
前端·javascript·css
心梦轻舞1 小时前
从 14 道面试题,彻底搞懂 Event Loop 与 Vue2 nextTick 底层原理
javascript
去伪存真1 小时前
架构思考与演进:如何彻底破解 RAG 切块大小与语义完整性的工程悖论?
前端·agent
馒头不想说话1 小时前
AI剪辑工具降低创作门槛
前端
paopaokaka_luck1 小时前
社区服务平台(加权协同过滤推荐、Jieba中文词频分析、WebSocket实时聊天、求助处理闭环、 活动积分闭环、ECharts多维分析)
java·前端·spring boot·mysql·echarts·mybatis