前端:

  :flat="true"是设置扁平化,如果不设置扁平化,添加了"isDisabled":true属性的节点下的所有子节点都会变成不可选,扁平化目的是 分支节点和叶子节点不会相互影响,也就是达到了使"isDisabled":true  只作用于所在节点或根节点不做用于其子节点

 

平面模式和排序值

在前面的所有示例中,我们使用了默认的非平坦模式vue-treeselect,这意味着:

  1. 每当分支节点被检查时,其所有子节点也将被检查
  2. 每当分支节点检查所有子节点时,分支节点本身也将被检查

有时我们不需要那种机制,并且希望分支节点和叶子节点不会相互影响。在这种情况下,应使用平面模式,如下所示。

如果要控制所选选项的显示顺序,请使用sortValueBy道具。该道具有三个选择:

  • "ORDER_SELECTED" (默认)-选择订单
  • "LEVEL" - 选择级别: C 🡒 BB 🡒 AAA
  • "INDEX" - 选项索引: AAA 🡒 BB 🡒 C
  • 56a16e03d64f71a4c6227e53031bfff4.png

 

<el-row>
          <el-col :span="12">
            <el-form-item label="用户昵称" prop="nickName">
              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="归属部门" prop="deptId">
              <treeselect v-model="form.deptId"  :flat="true" :options="deptOptions" placeholder="请选择归属部门" />
            </el-form-item>
          </el-col>
        </el-row>

 后端:

/**
     * 获取部门下拉树列表
     */
    @GetMapping("/treedept")
    public AjaxResult treeselect(SysDept dept)
    {
        List<SysDept> depts = deptService.selectDeptList(dept);

        List<TreeSelect>  dafa  =  deptService.buildDeptTreeSelect(depts);
        System.out.println(dafa);
        dafa.get(0).setIsDisabled(true);
        dafa.get(0).getChildren().get(0).setIsDisabled(true);
        dafa.get(0).getChildren().get(1).setIsDisabled(true);
        return AjaxResult.success(dafa);
    }


构造数据结构如下:

  将"isDisabled":false  属性添加到需要禁止选中的节点里面

[{"id":1,"label":"**市","isDisabled":true,"children":[{"id":390,"label":"总理局","isDisabled":true,"children":[{"id":385,"label":"办公室","isDisabled":false},{"id":386,"label":"财务科","isDisabled":false},{"id":387,"label":"政策法规科","isDisabled":false},{"id":388,"label":"管理科","isDisabled":false},{"id":389,"label":"管理科","isDisabled":false}]},{"id":391,"label":"单位","isDisabled":true,"children":[{"id":392,"label":"**集团","isDisabled":false}]}]}]

构造数据结构如下:

  将"isDisabled":false  属性添加到需要禁止选中的节点里面

[{"id":1,"label":"**市","isDisabled":true,"children":[{"id":390,"label":"总理局","isDisabled":true,"children":[{"id":385,"label":"办公室","isDisabled":false},{"id":386,"label":"财务科","isDisabled":false},{"id":387,"label":"政策法规科","isDisabled":false},{"id":388,"label":"管理科","isDisabled":false},{"id":389,"label":"管理科","isDisabled":false}]},{"id":391,"label":"单位","isDisabled":true,"children":[{"id":392,"label":"**集团","isDisabled":false}]}]}]

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐