vue3使用element-plus 树组件(el-tree)数据回显

html

<el-tree ref="treeRef" :data="data" show-checkbox :default-expand-all="false" node-key="id" highlight-current
        :props="defaultProps" @check="handleCheckChange" />

js

// 编辑按钮
let Jedit = (row: any) => {
  console.log(row);
  dialogFormVisible.value = true
  adds.value = false
  edits.value = true
  charnam.value = row.name
  RoleType.value = row.type == 1 ? '超管' : row.type == 2 ? "劳务公司" : row.type == 3 ? "项目部" : "审核员"
  Mid.value = row.menus
  row.value = row.menus
  
//数据回显,row.menus_id就是接口返回选中的树节点id集合
//菜单树数据
  menuVos.value = row.menus
  //数据回显操作
  nextTick(() => {
    const arr: any = []
    row.menus_id.forEach((item: any) => {
      if (
        !treeRef.value?.getNode(item).childNodes ||
        !treeRef.value?.getNode(item).childNodes.length
      ) {
        arr.push(item)
      }
    })
    roleForm.menuIds = arr
    treeRef.value?.setCheckedKeys(arr)
  })
};
const menuVos = ref([]) //菜单树列表
const roleForm: any = reactive({})
function handleCheckChange(data1: any, data2: any) {
  // 选中的子节点
  const checkedKeys = data2.checkedKeys
  // 选中的父节点
  const halfCheckedKeys = data2.halfCheckedKeys
  checkMenuList.value = [...checkedKeys, ...halfCheckedKeys]
}

非常好用,拿过来修改一下check事件,ref获取就直接可以使用了 

 

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 10:50:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 10:50:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 10:50:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 10:50:01       20 阅读

热门阅读

  1. 【洛谷 P2084】进制转换 题解(模拟+字符串)

    2024-01-20 10:50:01       32 阅读
  2. RPA与ChatGPT的融合:智能化流程的未来

    2024-01-20 10:50:01       25 阅读
  3. 地府网站火热开发中。。。

    2024-01-20 10:50:01       37 阅读
  4. 医疗行业的舆情监测

    2024-01-20 10:50:01       42 阅读
  5. 解决iCloud备份灰显问题的有效方法

    2024-01-20 10:50:01       36 阅读
  6. 零知识学习ACPI —— 1. 初识

    2024-01-20 10:50:01       35 阅读
  7. Spring和Spring Boot的区别

    2024-01-20 10:50:01       31 阅读