我不確定如何使用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