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

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

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效果:

相关文章
|
11月前
|
前端开发 JavaScript
React学习之——条件渲染
【10月更文挑战第16天】React 中没有像Vue中v-if这种指令。React 中的条件渲染和 JavaScript 中的一样,使用 JavaScript 运算符 if 或者条件运算符去创建元素来表现当前的状态,然后让 React 根据它们来更新 UI。
|
11月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
760 2
|
11月前
|
前端开发 JavaScript 容器
React 元素渲染
10月更文挑战第7天
91 1
|
10月前
|
前端开发 UED 开发者
React 数据表格分页实现
本文详细介绍了如何在React中实现数据表格的分页功能,包括基础实现、常见问题及解决方案。通过状态管理和事件处理,我们可以有效地减少页面加载时间,提升用户体验。文章提供了完整的代码示例,帮助开发者解决分页按钮样式、按钮过多和初始加载慢等问题,并给出了相应的优化方案。
293 53
|
11月前
|
监控 前端开发 UED
在 React 18 中利用并发渲染提高应用性能
【10月更文挑战第12天】利用并发渲染需要综合考虑应用的特点和需求,合理运用相关特性和策略,不断进行优化和调整,以达到最佳的性能提升效果。同时,要密切关注 React 的发展和更新,以便及时利用新的技术和方法来进一步优化应用性能。你还可以结合具体的项目实践来深入理解和掌握这些方法,让应用在 React 18 的并发渲染机制下发挥出更好的性能优势。
221 59
|
10月前
|
前端开发 搜索推荐 测试技术
React 数据表格排序与过滤
本文介绍了如何在 React 中实现数据表格的排序和过滤功能,从基础概念到实际代码实现,涵盖排序和过滤的基本原理、实现步骤、常见问题及解决方法。通过合理管理状态、优化性能和避免常见错误,帮助开发者提高用户体验和开发效率。
174 5
|
12月前
|
前端开发
React给antd中TreeSelect组件左侧加自定义图标icon
本文介绍了如何在React中为Ant Design的TreeSelect组件的每个树节点添加自定义图标,并解决了因缺少key属性而导致的警告问题,展示了如何通过递归函数处理treeData数据并为每个节点添加图标。
611 2
React给antd中TreeSelect组件左侧加自定义图标icon
|
12月前
|
前端开发 JavaScript UED
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
在React或Vue中,若需在更改用户所属组后更新页面所有数据但不刷新整个页面,可以通过改变路由出口的key值来实现。在用户切换组成功后,更新key值,这会触发React或Vue重新渲染路由出口下的所有组件,从而请求新的数据。这种方法避免了使用`window.location.reload()`导致的页面闪烁,提供了更流畅的用户体验。
134 1
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
|
12月前
|
前端开发
react使用antd中的Checkbox实现多选
在React项目中,通过Ant Design的Checkbox组件实现多选。引入Checkbox,使用Checkbox.Group来管理Checkbox,设置`value`属性绑定选中项数组,通过`onChange`更新数组。维护一个全选状态,根据选中项数量与总数决定全选按钮状态。全选按钮的`onChange`事件用于控制所有Checkbox的选中状态。
573 1
react使用antd中的Checkbox实现多选
|
12月前
|
前端开发
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
本文介绍了在React项目中如何添加路径别名alias以简化模块引入路径,设置组件props的默认值,以及如何二次封装Ant Design的Modal组件。文章还提供了具体的代码示例,包括配置Webpack的alias、设置defaultProps以及封装Modal组件的步骤和方法。
238 1
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用