我不确定如何使用antd <Form/>
组件发现here进行表单验证。该文档在<Form/>
组件上指定了onSubmit
prop,该组件传递了一个事件。然后它似乎触发this.props.form
中的一个函数。我目前使用下面的代码:表单验证与表单组件
handleSubmit(e) {
e.preventDefault();
console.log('before' + e.target.value)
this.props.validateFields((err, values) => {
console.log('errors: ' + err)
console.log(values)
if (!err) {
console.log('Received values of form: ', values);
}
});
}
<Form inline onSubmit={this.handleSubmit.bind(this)}>
....
</Form>
我无法从传递到提交回调的情况下检索值,如
e.target.value
返回undefined。- 在调用
this.props.validateFields()
时,如文档所示,这些值来自哪里?
- 在调用
这是我原来尝试过,但'form'是一致的定义。因为它是一个道具,我认为它需要由父组件传入。如何在嵌套字段中传递prop,比如'this.props.form.validateFields',以及该函数的签名在父代中的样子是什么? – Orbit
'this.props.form'由'Form.create'中的高阶函数注入,让我更新答案 – Kossel
这实际上就是我最终的结果。这些错误是由于在几个处理程序中错过了'.bind(this)'而引起的,导致道具出现问题。我会标记你的答案是正确的。 – Orbit