Если вы хотите динамически запрашивать поля формы, вы должны обернуть вашу форму в Form.create
.
. Она добавляет полезные функции, такие как onFieldsChange
listener:
const onFieldsChange = (_, changedFiels) => {
const { username } = changedFiels;
if (username) {
// Make your API checks
console.log(`Now changing ${username.name}`);
}
};
const ValidatedFields = Form.create({ onFieldsChange })(App);
Примечание: Вы должны держать свои Form.Item
неуправляемыми, используя getFieldDecorator
, поэтому избегайте onChange
при сборе данных формы.
Если вы все еще настаиваетечтобы контролировать элементы формы, вы должны использовать getFieldValue
:
const handleChange = e => {
const { name, value } = e.target;
const { getFieldValue } = form;
setState(() => ({
...state,
[name]: value
}));
// or use getFieldValue for a single query
const values = getFieldsValue(['formName',...more fields]);
if (values.length) {
// API CALL
}
};