我是用的antd版本是1.11.6,由于公司业务需要,扩展antd表单组件,实现了value和onChange接口,验证功能已经可用了,但是点击提交调用this.props.form.validateFields不起作用,求助大佬解答疑惑
handleNumberRangeSubmit = (value) => {
console.log(value)
}
handleSubmitBtnClick = (e) => {
e.preventDefault()
this.props.form.validateFields(()=>{
//无效
})
}
const numberRangeProps = getFieldProps('RNumberRange', {
rules: [{
validator: function (rule, value, callback) {
if (!value) callback('必填')
if (value === 'undefined:undefined') callback('输入框不能为空')
}
}],
initialValue: '12:24'
})
const numberInputProps = getFieldProps('RNumberInput', {
initialValue: '21',
rules:[{
validator:function (rule,value,callback) {
if (!value) callback('必填')
}
}]
})
<Form onSubmit={this.handleNumberRangeSubmit} ref="form">
<FormItem label="金额范围输入" labelCol={2}>
<RNumberRange
{...numberRangeProps}
name="RNumberRange"
type="amount"
numberRange={[-7777, 7777]}
decimalPoint={2}
/>
</FormItem>
<FormItem label="金额输入框">
<RNumberInput
{
...numberInputProps
}
name="RNumberInput"
type="amount"
decimalPoint={2}
/>
</FormItem>
<FormItem>
<Button onClick={this.handleSubmitBtnClick}>提交</Button>
</FormItem>
</Form>