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

      }
    
    }
  }
},
相关推荐
萌萌哒草头将军几秒前
Oxc 最新 Transformer Alpha 功能速览! 🚀🚀🚀
前端·javascript·vue.js
武昌库里写JAVA15 分钟前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
Justinc.1 小时前
HTML5新增属性
前端·html·html5
1024小神1 小时前
nextjs项目build导出静态文件
前端·javascript
阿聪_1 小时前
createContext 还是 useSyncExternalStore?一文讲清场景与选型
前端
parade岁月2 小时前
JavaScript 日期的奇妙冒险:当 UTC 遇上 el-date-picker
javascript
Linsk2 小时前
当我把前端条件加载做到极致
前端·前端工程化
_辉2 小时前
大模型构建表单与数据结构
前端
祝鹏2 小时前
动态表单生成
前端
luckyJian2 小时前
React深入浅出理解
前端