遍历递归数结构,修改里的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",
      },
相关推荐
xkxnq1 分钟前
第一阶段:Vue 基础入门(第 1 天)
前端·javascript·vue.js
未来之窗软件服务3 分钟前
幽冥大陆(九十 )github 自动化打包JS对接IDE —东方仙盟练气期
javascript·自动化·github·仙盟创梦ide·东方仙盟
小龙报5 分钟前
【算法通关指南:数据结构与算法篇】破局二叉树!特殊结构 + 双重存储 + 遍历算法,一文吃透所有核心
c语言·数据结构·c++·算法·知识图谱·信息与通信·visual studio
optimistic_chen8 分钟前
【Redis 系列】常用数据结构---List类型
linux·数据结构·redis·笔记·list·xsheel
xcLeigh1 小时前
Python入门:Python3 数据结构全面学习教程
数据结构·python·学习·教程·python3
vx:Oct-w771 小时前
毕业设计----用python制作的古诗词拼接接龙游戏
数据结构·python·sql·算法·游戏·pycharm
wgc2k2 小时前
Nest.js基础-2、Node.js的版本管理和包管理
开发语言·javascript·node.js
Tisfy8 小时前
LeetCode 961.在长度 2N 的数组中找出重复 N 次的元素:5种语言x5种方法(及其变种) —— All By Hand
数据结构·数学·算法·leetcode·题解
小夏卷编程9 小时前
ant-design-vue 1.x版本自定义可拖拽弹框
前端·javascript·vue.js
VX:Fegn089510 小时前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计