react +Antd Cascader级联选择使用接口数据渲染

news2024/10/1 9:49:29

1获取接口数据并将数据转换成树形数组

 useEffect(() => {
    axios
      .get('/接口数据', {
        params: {
          “请求参数”
        },
      })
      .then((res) => {
        console.log(res);

        const getTreeData = (treeData, pid) => {
          // 把数据转化为树型结构
          let tree = [];
          let currentParentId = pid || 0;
          for (let i = 0; i < treeData.length; i += 1) {
            if (treeData[i]) {
              if (treeData[i].pid === currentParentId) {
                tree.push(treeData[i]);
              }
            }
          }
          for (let j = 0; j < tree.length; j += 1) {
            if (tree[j]) {
              let children = getTreeData(treeData, tree[j].id);
              if (children && children.length) {
                tree[j].children = children;
              }
            }
          }
          return tree;
        };

        // 树形数据
        let data = getTreeData(获取需要转换的参数);
        console.log(data);

        setGear(data);
      });
  }, []);

2使用自定义Cascader级联选择组件

import {Cascader } from 'antd';
 
 <Cascader
  value={rank || undefined}
   fieldNames={{
                 label: 'title',
                  value: 'id',
                  children: 'children',
                   }}
      options={gear}
      onChange={onChange}
      placeholder="请输入档级"
      style={{ width: 170 }}
                        />

3效果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/919657.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

并发式编程的相关知识--notify和wait、CompletableFuture

1.notify和wait方法的使用 1.1快递到站通知 说明&#xff1a;快递的地点在上海&#xff0c;离快递发货地相聚500km&#xff0c;每次进行改变&#xff0c;快递将会前进100km,当快递前进100km时&#xff0c;需要通知快递当前的位置&#xff0c;当快递到达目的地时&#xff0c;需…

【学习FreeRTOS】第15章——FreeRTOS队列集

1.队列集简介 一个队列只允许任务间传递的消息为同一种数据类型&#xff0c;如果需要在任务间传递不同数据类型的消息时&#xff0c;那么就可以使用队列集&#xff0c;作用&#xff1a;用于对多个队列或信号量进行“监听”&#xff0c;其中不管哪一个消息到来&#xff0c;都可…

Docker拉取并配置Grafana

Linux下安装Docker请参考&#xff1a;Linux安装Docker 安装准备 新建挂载目录 /opt/grafana/data目录&#xff0c;准备用来挂载放置grafana的数据 /opt/grafana/plugins目录&#xff0c;准备用来放置grafana的插件 /opt/grafana/config目录&#xff0c;准备用来挂载放置graf…

containerd上基于dockerfile无特权构建镜像打包工具kaniko

目录 一、kaniko是什么 二、kaniko工作原理 三、kanijo工作在Containerd上 基于serverless的考虑&#xff0c;我们选择了kaniko作为镜像打包工具&#xff0c;它是google提供了一种不需要特权就可以构建的docker镜像构建工具。 一、kaniko是什么 kaniko 是一种在容器或 Kube…

Ubuntu18.04 交叉编译curl-7.61.0

下载 官方网址是&#xff1a;curl 安装依赖库 如果需要curl支持https协议&#xff0c;需要先交叉编译 openssl,编译流程如下&#xff1a; Ubuntu18.04 交叉编译openssl-1.1.1_我是谁&#xff1f;&#xff1f;的博客-CSDN博客 解压 # 解压&#xff1a; $tar -xzvf curl-7.61.…

2023年 Java 面试八股文(25w字)

目录 一.Java 基础面试题1.Java概述Java语言有哪些特点&#xff1f;Java和C有什么关系&#xff0c;它们有什么区别&#xff1f;JVM、JRE和JDK的关系是什么&#xff1f;**什么是字节码?**采用字节码的好处是什么?Oracle JDK 和 OpenJDK 的区别是什么&#xff1f; 2.基础语法Ja…

java.lang.UnsupportedOperationException解决方法

java.lang.UnsupportedOperationException解决方法 先放错误信息业务场景报错分析先看报错代码位置进入源码查看至此 真相大白 解决方法总结 先放错误信息 业务场景 已知有学生 张三李四王五赵六 等人 private List<String> nameList Arrays.asList("张三", &…

Linux基础命令2

目录 基础命令 ln命令 grep命令 查看文本内容的五种方式 1.cat命令 2.more命令 3.less命令 4.head命令 5.tail命令 echo命令 alias命令 基础命令 ln命令 作用&#xff1a;创建链接文件 格式&#xff1a;ln 命令选项 目标文件 链接文件名 命令选项&#xff1a;-s…

jdk 03.stream

01.集合处理数据的弊端 当我们在需要对集合中的元素进行操作的时候&#xff0c;除了必需的添加&#xff0c;删除&#xff0c;获取外&#xff0c;最典型的操作就是集合遍历 package com.bobo.jdk.stream; import java.util.ArrayList; import java.util.Arrays; import java.ut…

SpringMVC拦截器介绍

1、SpringMVC拦截器 1.1 2、serlet是对目标进行干御的 3、即使路径访问成功&#xff0c;也不一定能访问的到资源&#xff0c;如果放行就能够访问到资源&#xff0c;以前只要映射关系&#xff0c;资源就能100%访问到 3.1 4、拦截器链&#xff1a;这一个个的拦截器组合到一起&…

MR混合现实实训教学系统演示

MR混合现实实训教学系统的应用场景&#xff1a; 1、汽车检测与维修 使用MR混合现实技术&#xff0c;学生可以通过虚拟头戴式设备&#xff0c;将课堂延伸到实地。例如&#xff0c;在汽车维修课程中&#xff0c;学生可以通过MR技术&#xff0c;熟悉汽车模型内部关键结构&#x…

【案例】登录注册

<template><div class"loginhome"><Header :butShow"butShow"></Header><div class"formdiv"><div style"text-align:center;padding:10px;"><h3>你好登录账号{{ stauts 3? 注册:登录 }}…

【C++】—— 简述C++11新特性

序言&#xff1a; 从本期开始&#xff0c;我将会带大家学习的是关于C11 新增的相关知识&#xff01;废话不多说&#xff0c;我们直接开始今天的学习。 目录 &#xff08;一&#xff09;C11简介 &#xff08;二&#xff09;统一的列表初始化 1、&#xff5b;&#xff5d;初始…

FreeCAD向实体填充\添加材料\镜像\制作投影

任务 在本教程中&#xff0c;您将使用零件设计工作台创建下图所示零件的 3D 实体模型。给出了完成此任务的所有必要维度。 首先从基础草图创建核心形状&#xff0c;然后在该形状的基础上进行构建&#xff0c;添加所谓的特征。 这些特征将使用附加草图和随附的特征操作向实体添…

CTFshow 限时活动 红包挑战9 详细题解

CTFshow红包挑战9 题目源码开源了。源码如下&#xff1a; common.php <?phpclass user{public $id;public $username;private $password;public function __toString(){return $this->username;}}class cookie_helper{private $secret "*************"; /…

搭建电路(最大生成树)

本文为最近做过的一道编程笔试题&#xff0c;代码实现方式多种多样&#xff0c;此处本人提供的代码可以获得正确解&#xff0c;仅供大家参考。 目录 一、题目描述二、实现代码程序三、测试结果截图 一、题目描述 题目描述&#xff1a; 明明迷上了一个搭建电路的游戏。 在游戏…

Prometheus+Grafana+AlertManager监控SpringBoot项目并发送邮件告警通知

文章目录 PrometheusGrafanaAlertManager监控平台搭建新建SpringBoot项目为Prometheus提供指标新建项目&#xff0c;引入依赖新建接口&#xff0c;运行程序 推送指标到pushgateway 开始监控Grafana连接Prometheus数据源导入Grafana模板监控SpringBoot项目 邮件告警通知同系列文…

javaee idea创建maven项目,然后创建servlet

idea创建maven项目 参考我的上一篇博客点击查看 创建servlet 步骤一 引入依赖 步骤二 新建directory并设置mark directory as 步骤三 新建package和servlet

TCP半连接队列和全连接队列

目录 什么是 TCP 半连接队列和全连接队列&#xff1f; TCP 全连接队列溢出 如何知道应用程序的 TCP 全连接队列大小&#xff1f; 如何模拟 TCP 全连接队列溢出的场景&#xff1f; 全连接队列溢出会发生什么 ? 如何增大全连接队列呢 ? TCP 半连接队列溢出 如何查看 TC…

【C#学习笔记】数据类中常用委托及接口——以List<T>为例

文章目录 List\<T\>/LinkedList \<T\>为什么是神&#xff1f;&#xff08;泛型为什么是神&#xff09;一些常见&#xff0c;通用的委托和接口ComparisonEnumerator List<T>/LinkedList <T>为什么是神&#xff1f;&#xff08;泛型为什么是神&#xff0…