<el-tree>标签问题

1 阅读1分钟

简介

前天介绍了 Element-UI 中提供的 el-tree 标签的使用,今天分享该标签使用时的一个问题,以及博主自己的解决方案,希望能给大家有所启发。

问题

如下,是一个 部门-用户 二级树状结构,可以在左侧选中用户,展示到右侧的选中列表中。

在这里插入图片描述

但现在的问题是,只有展开过的部门才能通过选中部门全选用户,没有展开过,就不能通过选部门全选用户,如下。

在这里插入图片描述

解决

我问了 AI,也让 TRAE 解决了半天,全选问题解决了,右侧移除用户时左侧的勾选框又不能同步了,反反复复就是不能完美解决。

感觉要自己手搓代码,写复杂的判断逻辑,根据选中部门、选中用户分开判断才行。

但我有点赖,于是我想到了一个办法。

在 el-tree 上加上 default-expand-all 属性,加载时全部展开(嘿嘿),这样不就能解决问题吗?

如下。

    <div class="left-section">
      <el-tree
          ref="tree"
          v-if="treeVisible"
          :props="props"
          :data="treeData"
          show-checkbox
          node-key="userId"
          @check-change="handleCheckChange"
          default-expand-all
          style="width: 300px;">
      </el-tree>
    </div>

看下效果,展示 部门-用户 结构时,全部展示,没有全选问题。

这种小技巧,AI 你就学去吧,我简直是天才。

在这里插入图片描述