只需要在select上设置一个属性即可.
labelInValue 设置为true 就可以.
选中项的 label 会被包装到 value 中传递给 onChange
等函数,此时 value 是一个对象。
当然,用getFieldsValue 也同样会被同时获取到.
当然了,如果是在getFieldDecorator 中设置的话 ,需要在initialValue中设置好相关的值才行,比如
代码语言:javascript复制<FormItem {...formItemLayout} label="项目类别">
{
getFieldDecorator('categoryId', {
initialValue: {key:""},
rules: [{
required: true, message: '此项为必选',
}]
})(
<Select labelInValue disabled={t.props.editAble} style={{width: 120, marginTop: 5}} size={config.size}>
<Select.Option value="">全部</Select.Option>
<Select.Option value="cat1">类别1</Select.Option>
<Select.Option value="cat2">类别2</Select.Option>
<Select.Option value="cat3">类别3</Select.Option>
<Select.Option value="cat4">类别4</Select.Option>
</Select>
)
}
</FormItem>
只需要关注initialValue那一块便可以,其它的和正常书写代码内容是一样的,不然的话,会一直报错