当前位置: 首页 > news >正文

react通过下拉框选择多个,并展示在下方的方式

以备后用,直接上代码:

一、方法:

//查询学校一级部门列表async orgFirstLevelList() {let data = {schoolId:this.state.schoolId};let depList = await orgFirstLevelList(data);this.setState({depList: depList})}//删除所选部门deleteDep(index) {let {selectDepList} = this.state;selectDepList.splice(index,1);this.setState({ selectDepList });}//添加所选部门addDep(e) {let orgName = null;let { depList,selectDepList} = this.state;//判断已添加列表中是否已存在for(let i = 0;i < selectDepList.length; ++i){if(selectDepList[i].id === e[0]) {this.mesWarning('该部门已添加过了,无需重复添加')return;}}for(let i = 0;i < depList.length; ++i){if(depList[i].id === e[0]) {orgName = depList[i].orgName;break;}}selectDepList.push({id:e[0], orgName:orgName});this.setState({ selectDepList: selectDepList});this.props.form.setFieldsValue({orgId:""})}

二、form及选择展示

<Form.Item label="所属部门">
{getFieldDecorator('depId', {rules: [{required: true,message: '请输入所属组织',},]})(<CascaderfieldNames={{label: 'orgName', value: 'id'}}options={depList}placeholder="请选择所属组织,支持多选"changeOnSelectonChange={(e) => this.addDep(e)}disabled={this.state.isLook}getPopupContainer={triggerNode => triggerNode.parentNode || document.body}/>)}
</Form.Item>{selectDepList.length > 0?<Col span={24}><div className="diyTag">{selectDepList.map((item,index)=>{return(<Tag key={index} id={item.id}>{item.orgName}<span onClick={() => this.deleteDep(index)}>{closeBtn}</span></Tag>)})}</div></Col>:""
}

相关文章:

  • 【工具分享】Darkside勒索病毒解密工具
  • 每天五分钟深度学习框架pytorch:激活函数在神经网络中的应用
  • 数据结构—(java)反射,枚举,lambda表达式
  • 开发受用户喜欢有声听书APP:快速满足用户需求的秘诀
  • [PICO VR眼镜]眼动追踪串流Unity开发与使用方法,眼动追踪打包报错问题解决(Eye Tracking/手势跟踪)
  • 使用 LlamaIndex 进行 CRAG 开发用来强化检索增强生成
  • python 将 aac 转为 mp3,保持原有目录结构
  • Spring 全家桶使用教程 —— 后端开发从入门到精通
  • 江协科技STM32学习- P19 TIM编码器接口
  • 深入理解函数【JavaScript】
  • WPF项目中使用Caliburn.Micro框架实现日志和主题切换
  • ubuntu20.04系统安装zookeeper简单教程
  • 【PostgreSQL】PostgreSQL数据库允许其他IP连接到数据库(Windows Linux)
  • MATLAB案例 | Copula的密度函数和分布函数图
  • vue echarts tooltip动态绑定模板,并且处理vue事件绑定
  • [笔记] php常见简单功能及函数
  • Android Volley源码解析
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • angular组件开发
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • JS数组方法汇总
  • MySQL-事务管理(基础)
  • php中curl和soap方式请求服务超时问题
  • swift基础之_对象 实例方法 对象方法。
  • Vue.js 移动端适配之 vw 解决方案
  • vue-router的history模式发布配置
  • WePY 在小程序性能调优上做出的探究
  • win10下安装mysql5.7
  • yii2权限控制rbac之rule详细讲解
  • Yii源码解读-服务定位器(Service Locator)
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​人工智能书单(数学基础篇)
  • # Redis 入门到精通(一)数据类型(4)
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Lua:Lua调用C++生成的DLL库
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (接口封装)
  • (算法)Game
  • (转)用.Net的File控件上传文件的解决方案
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .env.development、.env.production、.env.staging
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .Net实现SCrypt Hash加密
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @基于大模型的旅游路线推荐方案