Установить значение поля redux-form на основе ДВУХ других полей - PullRequest
0 голосов
/ 20 февраля 2019

Итак, в избыточной форме я видел много способов обновления значения Field на основе другого Field.Моя конкретная ситуация заключается в обновлении значения Field на основе two различных Fields.

Два популярных способа, предлагаемых для достижения этой цели: 1.) redux-form'sнормализатор и 2.) вручную отправляют метод редукт-формы, чтобы изменить метод для изменения значения Field3, когда вызывается onChange для Field1.Оба эти решения, кажется, не работают для меня по следующим причинам:

  1. Нормализатор : Допустим, у меня есть 3 поля - Field1, Field2и Field3.Мне нужно установить значение Field3 при изменении либо Field1, либо Field2. Также значение Field2 устанавливается автоматически при изменении Field1 .Допустим, я определяю нормализатор на Field1, который проверяет значения всей формы.В этом случае внутри моей функции нормализатора значение Field1 обновляется, но Field2 сохраняет свое старое значение.Это может быть странным поведением из-за избыточной формы.

  2. Ручная отправка метода изменения избыточной формы на Field3, изнутри Field1 или Field2onChange - Проблема в том, что если я пытаюсь получить доступ к значению Field1 внутри Field1 onChange, метод, переданный Field1 onChange, сохраняет *Старое значение 1050 *.Поэтому я не могу надежно установить значение Field3 на основе нового значения Field1.

Любые предложения относительно того, как подойти к этому, будут полезны.Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2019

попробуйте это:

создайте компонент для field3 (скажем, Field3) и используйте его в форме, подобной этой

<Field name="field3" component={Field3} />

в компоненте Field3, мы также вводим значение field1 и field2 вКомпонент Field3.так что всякий раз, когда компонент обновляется, мы можем проверить, происходит ли это из-за field1 или field2, тогда мы обновляем field3 соответственно:

...