[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)
    }
  })
}
相关推荐
比特森林探险记11 分钟前
【无标题】
java·前端
IT_陈寒39 分钟前
SpringBoot自动配置把我都整不会了
前端·人工智能·后端
一 乐1 小时前
旅游|基于springboot + vue旅游信息推荐系统(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·旅游信息推荐系统
最逗前端小白鼠2 小时前
vue3 数据响应式遇到的问题
前端·vue.js
倚栏听风雨2 小时前
ts中 ?? 和 || 区别
前端
冴羽2 小时前
请愿书:Node.js 核心代码不应该包含 AI 代码!
前端·javascript·node.js
我家猫叫佩奇2 小时前
一款灵感源自《集合啦!动物森友会》的 UI 组件库
前端
mmmmm123422 小时前
深入 DOM 查询底层:HTMLCollection 动态原理与 querySelectorAll 静态快照解析
前端·javascript
淸湫2 小时前
前端JavaScript:数据类型、实例对象 、内置对象、构造函数之间的关系
javascript
weixin199701080162 小时前
《TikTok 商品详情页前端性能优化实战》
前端·性能优化