<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),就可以随心所欲的传值了
ant design select如何同时获取label和value值
最新推荐文章于 2024-06-20 09:46:43 发布