antd TreeSelect 无限级选择
时间:2019-11-07
本文章向大家介绍antd TreeSelect 无限级选择,主要包括antd TreeSelect 无限级选择使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
实现无限级多选功能
一、请求接口处理成以下数据(第二部)
let list = []; for (let i = 0; i < data.retdata.length; i++) { const item = data.retdata[i]; list.push({...item,parentcode:code}) } yield put({type: 'getUserListData', getUserList: list, cod, id}); return;
二、数据
let aa = [ { "code": "D1552729262LUO", "name": "华北", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1553484921BYD", "name": "华东", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D15578187295J3", "name": "营销中心", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D15583207542JI", "name": "福建区", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1568710637F3A", "name": "杭州区", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D15693912258V6", "name": "华南", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1570687649YJW", "name": "广东区", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1532955512C_R", "name": "武汉", "type": "organization", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1553485190IDX", "name": "开发部", "type": "depar", "parentcode": "D1552729262LUO", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1553485199RP8", "name": "市场部", "parentcode": "D1552729262LUO", "type": "depar", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1553485208PQN", "name": "技术部", "parentcode": "D1552729262LUO", "type": "depar", "clientcode": "Y0070", "imgurl": "" }, { "code": "P1529575663PES", "name": "陶丽丽", "parentcode": "D1552729262LUO", "type": "oper", "clientcode": "Y0070", "imgurl": "http://clientimginfo.csjsoft.cn/Y0070/prtsysimg/eshoppic/df017b35-54b9-4a66-ab9d-0b73242f2729.jpeg" }, { "code": "D1553485113GJU", "name": "武汉销售一部", "type": "depar", "parentcode": "D1532955512C_R", "clientcode": "Y0070", "imgurl": "" }, { "code": "D1553485131LJW", "name": "武汉销售二部", "type": "depar", "parentcode": "D1532955512C_R", "clientcode": "Y0070", "imgurl": "" } ]
二、渲染
1 <TreeSelect 2 onChange={treeChange} 3 value={pagedata.addNewData.userList} 4 treeCheckable={true} 5 showCheckedStrategy={SHOW_PARENT} 6 searchPlaceholder= '请选择可参投用户' 7 style={{ 8 width: '24.7rem', 9 }} 10 > 11 {pagedata.getUserList != [] && pagedata.getUserList != undefined ? aaa('') : []} 12 13 </TreeSelect>
三、处理数据
function aaa(id){ if(!breakAction(id)){ return; } let list = []; for (let i = 0; i < pagedata.getUserList.length; i++) { const item = pagedata.getUserList[i]; if(item.parentcode == id){ list.push(<TreeNode key={item.code} value={item.code} title={<div>{item.name}{item.type == 'oper' ? null : <Icon type="caret-down" style={{float: 'right'}} onClick={treeIconClick.bind(this, item.code, item.id)}/>}</div>}> {aaa(item.code)} </TreeNode>) } } return list; } function breakAction(id){ let aaa = false; for (let i = 0; i < pagedata.getUserList.length; i++) { const item = pagedata.getUserList[i]; if(item.parentcode == id){ aaa = true; } } return aaa; }
原文地址:https://www.cnblogs.com/na-w/p/11813394.html
- 机器学习-简单线性回归教程
- NSA(美国国安局)泄漏Exploit分析
- 详解Windows Shim的攻防利用
- 基于Github的源码白盒扫描工具Raptor
- 把业务逻辑变成数据结构和SQL语句的例子。自然架构改成自然框架
- 【自然框架】之通用权限(六):权限到节点
- 【自然框架】之“元数据”的威力
- 周末娱乐:讲真,这才是我所说黑客的定义!
- 数据访问函数库的使用方法(一)——添加修改数据
- 数据访问函数库的使用方法(二)—— 获取记录集和使用事务的方法
- “数据访问函数库”(DataAccessLibrary for .net2.0 )源代码下载 09.06.15更新
- 数据访问函数库 for ado.net2.0
- 【问底】静行:FastJSON实现详解
- 分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Yii2框架自定义类统一处理url操作示例
- tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
- PHP htmlspecialchars_decode()函数用法讲解
- ThinkPHP中获取指定日期后工作日的具体日期方法
- php curl操作API接口类完整示例
- PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
- Python叠加矩形框图层2种方法及效果
- PHP常量define和const的区别详解
- 解决运行出现'dict' object has no attribute 'has_key'问题
- tensorflow之读取jpg图像长和宽实例
- Python数据可视化实现多种图例代码详解
- Python使用tkinter实现摇骰子小游戏功能的代码
- pandas to_excel 添加颜色操作
- Python自带的IDE在哪里
- php+Ajax无刷新验证用户名操作实例详解