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 相关文章推荐
event对象的方法 兼容多浏览器
Jun 27 Javascript
在jQuery ajax中按钮button和submit的区别分析
Oct 07 Javascript
jQuery中detach()方法用法实例
Dec 25 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
Mar 21 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
Jul 27 Javascript
JS实现左右拖动改变内容显示区域大小的方法
Oct 13 Javascript
jquery实现倒计时功能
Dec 28 Javascript
JS组件Bootstrap Table使用实例分享
May 30 Javascript
微信小程序顶部可滚动导航效果
Oct 31 Javascript
Vue下的国际化处理方法
Dec 18 Javascript
JavaScript多线程运行库Nexus.js详解
Dec 22 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
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php实现的双色球算法示例
2017/06/20 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
快速了解Node中的Stream流是什么
2019/02/13 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python实现问号表达式(?)的方法
2013/11/27 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python3中数组逆序输出方法
2020/12/01 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
园林设计师自荐信
2013/11/18 职场文书
财经学院自荐信范文
2014/02/02 职场文书
财产公证书格式
2014/04/10 职场文书
个人授权委托书
2014/09/15 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
Python基础 括号()[]{}的详解
2021/11/07 Python