遍历递归数结构,修改里的disabled值

返回参数中新增字段 disabled,后端给的值为1和2,

disabled==1时,代表该节点需要置灰,不可选中

现在需要将disabled的值,改为布尔类型;

后端给的数结构是对象类型,tree接收数组类型;

先将对象类型的数据,遍历递归,修改里面的disabled值,最后再加 ,改为数组类型.

javascript 复制代码
this.setDisabledData(res.data.data);


    // 遍历递归
    setDisabledData(node) {
      let that = this;
      node.disabled == 1 ? (node.disabled = true) : (node.disabled = false);
      if (node.children && node.children.length > 0) {
        node.children.forEach(child => {
          that.setDisabledData(child);
        });
        node.children.every(child => {
          child.disabled == 1 ? (child.disabled = true) : (child.disabled = false);
        });
        this.assignerArr = [node];
      }
    },
javascript 复制代码
            <el-form-item label="关键字" class="cx-scroll-wrap">
              <el-input placeholder="输入关键字进行过滤" v-model="filterText" clearable></el-input>
              <div class="addScrollClass " :style="{ height: tableHeight }">
                <el-tree
                  icon-class="none"
                  :data="assignerArr"
                  :check-strictly="false"
                  show-checkbox
                  default-expand-all
                  node-key="id"
                  ref="tree"
                  :filter-node-method="filterNode"
                  highlight-current
                  :expand-on-click-node="false"
                  :props="props"
                >
                  <span class="custom-tree-node" slot-scope="{ node, data }">
                    <span>
                      <i v-if="data.type == 2" class="el-icon-coin cx-icon"></i>
                      <i v-else class="el-icon-user-solid cx-icon"></i>
                      {{ node.label }}
                    </span>
                  </span>
                </el-tree>
              </div>
            </el-form-item>
javascript 复制代码
      props: {
        label: "displayName",
        children: "children",
        isLeaf: "leaf",
        disabled: "disabled",
      },
相关推荐
Dream-Y.ocean19 分钟前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
前端小D2 小时前
JS核心底层
前端·javascript
Dovis(誓平步青云)3 小时前
启元 T1 Pro 人机相声搭档:语音-触摸双通道的启元机器人节奏引擎设计
开发语言·前端·javascript·microsoft·交互
ruanno_top3 小时前
能点,但 Tab 不到:两个组件把「可操作」做了一半
vue.js
爱吃烧烤的技术渣3 小时前
别再手写 CRUD 了:我把 Element Plus 的工作量压缩成一份列 schema
前端·vue.js
codeejun4 小时前
每日一Go·MySQL-11、覆盖索引 & 回表原理
javascript·数据库·mysql
GrowingIO技术社区4 小时前
CDP、行为分析、归因与营销自动化有什么区别?
数据结构·数据挖掘·数据分析
GrowingIO技术社区4 小时前
实时标签怎样验收?从数据更新到分群可用
数据结构·数据挖掘·数据分析
用户298698530144 小时前
React 前端将 Excel 工作表导出为图片的技术实践
javascript·react.js·excel
徐小夕5 小时前
万字长文!DeepSeek Super-agent × 企业知识库架构深度拆解与落地实践
前端·vue.js·github