[vxe-table el-tree] 树表格:选中子节点,父节点无影响;选中父节点,子节点被选中,el-tree也同理

树表格:选中子节点,父节点无影响;选中父节点,子节点被选中,el-tree也同理

设置父子不关联,checkStrictly=true;

点击某个节点的多选框时,如果有子节点,递归设置子节点的checkbox选中/不选中

html 复制代码
<vxe-grid
  ref="xGrid"
  :data="tableData"
  :columns="columns"
  :tree-config="treeConfig"
  :checkbox-config="{ checkStrictly: true }"
  @checkbox-change="handleCheckboxChange"
/>
javascript 复制代码
tableData: [
   {
     id: 1,
     name: '父节点1',
     children: [
       { 
         id: 2, 
         name: '子节点1-1',
         children: [
           { id: 4, name: '孙节点1-1-1' }
         ]
       },
       { id: 3, name: '子节点1-2' }
     ]
   }
 ],
 treeConfig: {
   children: 'children',
   expandAll: true
 },
 columns: [
   { type: 'checkbox', width: 60, treeNode: true },
   { field: 'name', title: '名称' }
 ]
javascript 复制代码
handleCheckboxChange({ checked, row }) {
  // 如果有子节点,递归设置所有子孙节点
  if (row.children && row.children.length) {
    this.setAllChildren(row.children, checked)
  }
},

// 递归设置所有子节点
setAllChildren(children, checked) {
  const $table = this.$refs.xGrid
  children.forEach(child => {
    $table.setCheckboxRow(child, checked)
    if (child.children && child.children.length) {
      this.setAllChildren(child.children, checked)
    }
  })
}
相关推荐
C澒1 小时前
微前端容器标准化 —— 公共能力篇:通用监控能力
前端·架构
念念不忘 必有回响1 小时前
Next.js 14-16 全栈开发实战:从 App Router 核心原理到 Server Actions 深度剖析
前端·nextjs
计算机学姐1 小时前
基于SpringBoot+Vue的家政服务预约系统【个性化推荐+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·java-ee
英俊潇洒美少年1 小时前
React 16 → 17 → 18 → 19 完整区别
前端·javascript·react.js
你会发光哎u1 小时前
了解React并解析JSX语法
前端·react.js·前端框架
专注VB编程开发20年1 小时前
Typescript就像C#,VS IDE以前对JS只有基础、弱智能的支持
javascript·vscode·microsoft·typescript
阳光雨滴1 小时前
树级结构部门选择和人员选择联动功能处理
javascript·vue.js·elementui
英俊潇洒美少年2 小时前
Vue2 和 Vue3 所有区别
前端·javascript·vue.js
书到用时方恨少!2 小时前
基于 Three.js 的 3D 地球可视化项目
开发语言·javascript·3d