antd Select下拉菜单动态添加option里的内容操作


Posted in Javascript onNovember 02, 2020

antd Select下拉菜单动态添加option里的内容,通过form表单绑定select选中的值

提供一个公共的方法,每次只需去调用这个方法就行了

//这里是示例数据格式
let giftScope =[
 {
 code:200,
 id:1,
 name:"张三"
 }, {
 code:300,
 id:2,
 name:"李四"
 }, {
 code:400,
 id:3,
 name:"王五"
 }, {
 code:500,
 id:4,
 name:"赵六"
 },
]
// 提供了一个在select里面添加公用Option内容的方法 
//第一个参数为原数据(array) 
//第二个为value----值为当前输入框内容对应的id或code唯一标识(不能为number会报错) 
//第三个为内容
 const renderOption = (arr , code , name) => arr ? arr.map( (item,index)=>{
 return (<Option key={index+item[code]} value={ typeof(item[code]) === 'number' ? item[code].toString() : item[code]}>{item[name]}</Option>)
 }) : null
 <Select mode="tags" >{renderOption(giftScope,'id','name')}</Select>

配合form表单使用

//parameter可以是id,也可以是code或者其他需要的字段,调用renderOption方法时更改第二个参数即可
//通过form表单API获取到所有value值的parameter就为绑定的id或者code
   <Form.Item>
   {getFieldDecorator('parameter', {
    rules: [{ required: false, message: '请选择' }],
     })(
    <Select mode="tags" >{renderOption(giftScope,'id','name')}</Select>,
    )}
   </Form.Item>

补充知识:关于antd Select选择器

根据服务器端的值动态渲染 select的option值

antd Select下拉菜单动态添加option里的内容操作

在moddels里面直接处理数据

*getSiteOptionsAdmin({ payload }, { call, put }) {
   try {
    const { data } = yield call(notice.getSiteOptionsAdmin, payload);
    if (data.code === 200) {
     const menudata = [];
     menudata.push(<Select.Option key={0} value="0">全部</Select.Option>);
     for (let i = 0; i < data.info.length; i++) {
      menudata.push(
       <Select.Option
        key={data.info[i].id}
        value={data.info[i].id.toString()}
       >
        {data.info[i].title}
       </Select.Option>,
      );
     }
     yield put({ type: 'save', payload: { getSiteOptionsAdmin: menudata } });
    } else {
     message.error(data.message);
    }
   } catch (error) {
    console.log(error);
   }
  },

全部选项就是value值为0 的option值

export default connect((state) => {
 return {
  activityList: state.activity.activityList,
  menudata: state.notice.getSiteOptionsAdmin,
 };
})(Form.create()(QuestionList));
<Select 
showSearch 
placeholder="请选择站点" 
style={{ width: '160px' }} 
optionFilterProp="children" 
onChange={this.handleChange}>
 <Option key={0} value={0}> 全部</Option>
 {this.props.menudata.length > 0 ? this.props.menudata : []}
</Select>,

以上这篇antd Select下拉菜单动态添加option里的内容操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery.lazyload  实现图片延迟加载jquery插件
Feb 06 Javascript
基于jquery的一个浮动框(扩展性比较好 )
Aug 27 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 Javascript
学习JavaScript设计模式(策略模式)
Nov 26 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
JavaScript 对引擎、运行时、调用堆栈的概述理解
Oct 22 Javascript
vue中利用Promise封装jsonp并调取数据
Jun 18 Javascript
vue 使用async写数字动态加载效果案例
Jul 18 Javascript
ES2020系列之空值合并运算符 '??'
Jul 22 Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 #Javascript
JavaScript实现刮刮乐效果
Nov 01 #Javascript
微信小程序实现单个或多个倒计时功能
Nov 01 #Javascript
微信小程序实现页面监听自定义组件的触发事件
Nov 01 #Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 #Javascript
uni-app使用countdown插件实现倒计时
Nov 01 #Javascript
uni-app实现获取验证码倒计时功能
Nov 01 #Javascript
You might like
php 启动时报错的简单解决方法
2014/01/27 PHP
ThinkPHP控制器详解
2015/07/27 PHP
php-fpm中max_children的配置
2019/03/15 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
js创建数组的简单方法
2016/07/27 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
react-router中的属性详解
2017/06/01 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
微信小程序(订阅消息)功能
2019/10/25 Javascript
Python 私有函数的实例详解
2017/09/11 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
Django实现文件上传下载
2019/10/06 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
美国滑板店:Tactics
2020/11/08 全球购物
个人授权委托书
2014/04/03 职场文书
社区党建工作方案
2014/06/10 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
小兵张嘎观后感
2015/06/03 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
7个关于Python的经典基础案例
2021/11/07 Python