我正在尝试验证“费率”组件,设置初始值等。
{getFieldDecorator('rating', {
initialValue: dataSource.getIn(['data', 'rating'], ''),
rules: [{ required: true, message: 'Field is required' }],
})(<Rate allowClear={false} onChange={this.setRating} />)}
在我的表单中具有这样的代码会在每次更改值后导致错误
警告:
getFieldDecorator
将覆盖value
,因此请不要 直接设置value
并使用setFieldsValue
进行设置。
任何想法如何克服它? 代码按预期工作
答案 0 :(得分:1)
我认为原因是因为当您的组件受onChange
控制时,您不应该使用Form
如果您想使用以下方法获取实际费率:
this.props.form.validateFields()
,因为还将进行字段验证
答案 1 :(得分:1)
要验证<Rate />
中的antd design
,应使用null
作为初始值。
<Form.Item>
{getFieldDecorator('rating', {
initialValue: review.rating ? review.rating:null,
rules: [
{
required: true,
message:'Rating Required',
},
],
})(
<Rate />,
)}
</Form.Item>