antd <Form/>
コンポーネントでフォームの検証を行う方法がわからないhereドキュメントには、<Form/>
コンポーネントのonSubmit
小道具が指定されており、イベントが渡されます。それは、this.props.form
の中で機能を引き起こすようです。私は現在、次のコードを使用しています:私はe.target.value
戻り未定義として、提出するコールバックに渡されたイベントから値を取得することができませんフォームコンポーネントを使用したフォーム検証
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>
。
this.props.validateFields()
への呼び出しでは、これらの値はどこから来ていますか?
これは、私はもともと試みたものですが、 'form'は一貫未定義でした。これは小道具であるため、親コンポーネントによって渡される必要があると仮定します。 'this.props.form.validateFields'のようなネストされたフィールドの小道具をどのように渡しますか?その関数の署名は親のように見えますか? – Orbit
'this.props.form'は' Form.create'の高次関数によって注入されます。私は答えを更新しましょう – Kossel
これは本質的に私が終わったものです。このエラーは、ハンドラのいくつかで '.bind(this) 'が見つからないことが原因で発生していました。私はあなたの答えを正しいものとしてマークします。 – Orbit