ant design select如何同时获取label和value值

<Form.Item
label=“争议发起”
>
{
getFieldDecorator(‘source’,{
rules:[
{ required: true, message:‘请选择’ }
],
initialValue:name
})(
<Select
style={{width:360}}
notFoundContent=“暂无数据”
placeholder={‘请选择’}
onChange = {this.changeSourceCode}
>
{
sourceNameList.map( (item: any) => (
<Select.Option key={item.code} value={JSON.stringify(item)} >
{item.name}
</Select.Option>
))
}

)
}
</Form.Item>
1、value不能直接绑定对象,所以将对象转换为json字符串,即JSON.stringify(item);
例子中item为:{code: “0”, name: “买家”}
2、initiValue也应转为json字符串,且与value是包含于的关系,initialValue必须是value值中有的数据,数据处理步骤为:
sourceCode、sourceName为后台返回数据
const name = sourceCode ? JSON.stringify({ code: sourceCode, name: sourceName }) : “”;
需要加判断的原因是:如果不加判断,当没有默认值时就会出现{},这样的情况:
在这里插入图片描述
3、以上准备完后就可以获取到label和value值了,只是如果传给后台,可能还需要json解析,
将得到的数据JSON.parse(data),就可以随心所欲的传值了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值