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 相关文章推荐
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 Javascript
JS 实现列表与多选框选择附预览动画
Oct 29 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
Apr 30 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
Sep 02 Javascript
纯javascript响应式树形菜单效果
Nov 10 Javascript
轻松掌握JavaScript中介者模式
Aug 26 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
通过javascript实现扫雷游戏代码实例
Feb 09 Javascript
jQuery实现视频展示效果
May 30 jQuery
vue 获取元素额外生成的data-v-xxx操作
Sep 09 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
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
Python守护进程(daemon)代码实例
2015/03/06 Python
用Python编写简单的微博爬虫
2016/03/04 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python 实现微信防撤回功能
2019/04/29 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
好军嫂事迹材料
2014/01/15 职场文书
教师网络培训感言
2014/03/09 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
学习作风建设心得体会
2014/10/22 职场文书
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫