Как разобрать нетронутые поля в реакции-финальной форме - PullRequest
0 голосов
/ 12 марта 2020

У меня есть ввод для количества в реагирующей окончательной форме. Если он не заполнен, мне нужно установить значение формы в ноль. Я не могу передать ему начальное значение, как если бы оно не было заполнено пользователем, сам ввод должен оставаться пустым.

В документах о реакции в окончательной форме есть анализ функция. Но это работает, только если поле было затронуто (заполнено и затем очищено пользователем). Есть ли способ проанализировать нетронутые поля и установить их на ноль в значениях формы, без обновления ввода?

Вот мой код:

<Field
  name="amount"
  component={CurrencyInput}
  parse={value => (value ? value : 0)}
/> 

А вот ссылка на мой codesandbox .

1 Ответ

0 голосов
/ 12 марта 2020

если, делая это, вы пытаетесь достичь sh того, что объект, отображаемый в <pre>, имеет значение по умолчанию, равное нулю, когда вход пуст, вы можете использовать переменную состояния и внутри parse keep обновив его значение

  const [amount, setAmount] = useState(0);
  const onInputChange = e => {
    e === "" || e === undefined ? setAmount(0) : setAmount(e);
  };

и в теге Field

  <Field
    name="amount"
    component={CurrencyInput}
    parse={value => onInputChange(value)}
    defaultValue={amount}
    />

отметьте здесь коды и поля:

https://codesandbox.io/s/react-final-form-wreact-number-format-and-parse-22q3n

Надеюсь, что это решит проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...