elementUI 树形控件el-tree 怎么做角色管理的授权功能?

问题一、
elementUI默认的el-tree在做分配权限的时候如果选择选了子节点,那么父节点就处于半选状态,如果子节点都勾选了,父节点也就勾选了。但是半选状态得不到id,后端又需要id,怎么办?

img

问题二、
解决了设置传参的问题,在修改回显的时候拿到接口已勾选的id们,直接赋值的话会导致子级被全选。那怎么解决父级是半选状态呢?


有没有案例可借鉴?

解决了,分享给大家😄


第一个问题:

img

    // 选中节点
    selectMenu(self, total) {
      const checkedKeys = this.$refs.menuTree.getCheckedKeys(); // 获取选中的子节点
      const hafCheckedKeys = this.$refs.menuTree.getHalfCheckedKeys(); // 获取选中的父节点
      this.roleForm.menuIds = checkedKeys.concat(hafCheckedKeys); // 合并参数
    }

第二个问题:

img

            // 设置选择
              menuIds.forEach((item) => {
                const node = this.$refs.menuTree.getNode(item);
                if (node.isLeaf) {
                  this.$refs.menuTree.setChecked(item, true);
                }
            });

多谢

element ui Tree树形控件获取未全选父节点和子节点id_green111111112的博客-CSDN博客 element ui Tree树形控件获取未全选父节点和子节点idTree树形控件选中状态解决方法Tree树形控件回显问题解决办法Tree树形控件选中状态在做分配权限的时候如图选择了父节点的某些子节点,现在父节点是半选中状态,使用this.$refs.tree.getCheckedKeys()只能拿到当前的子节点,子节点全选才能拿到父节点,而后台需要我们把父节点和子节点一起带过去。解决方法 // 获取选中的子节点 let checkedKeys = this.$refs.tree.getCh https://blog.csdn.net/green111111112/article/details/112371860?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242.1