Как очистить одно значение в initialValues ​​для избыточной формы? - PullRequest
0 голосов
/ 29 октября 2018

У меня есть два поля в моей избыточной форме, field_A и field_B. Оба из них являются полями выбора. После выбора field_A initialValues ​​в форме избыточности заполняет значение для field_A и загружает параметры для field_B для выбора пользователем. Как только пользователь выбирает field_B, мои initialValues ​​из избыточной формы заполняют значения Field_B.

Если я теперь изменю field_A, загружаются новые опции для field_B, чтобы пользователь мог их выбрать. В пользовательском интерфейсе значение field_B очищается, но initialValue по-прежнему имеет значение field_B. Пользователь сможет отправить эту форму вместо того, чтобы получить сообщение об ошибке «Требуется». Они отправляют несовпадающую комбинацию field_A и field_B на серверную часть.

Когда я выполняю onChange при выборе field_A, я хочу очистить значение field_B обратно до неопределенного, чтобы пользователь не мог отправить форму, пока он не выберет значение для field_B. Как я могу это сделать? Я попытался использовать следующую ссылку документацию, но, возможно, я неправильно использую функцию изменения. Возможно, функция изменения даже не является решением.

Я пытался this.props.change ("field_B", undefined) , но это не изменило значение initialValues.field_B.

Я также пытался this.props.initialValues.change ("field_B", undefined) , но этот вызов был ошибочным.

1 Ответ

0 голосов
/ 29 октября 2018

Я нашел следующее решение:

import { change } from 'redux-form';

export const clearFormName = (reduxFormName, filingFormName, value) => {
    return function (dispatch) {
        dispatch(change(reduxFormName, filingFormName, value));
    };
};

Я не мог вызвать функцию изменения непосредственно в форме, поэтому я создал действие и вызвал свое действие во время onChange, когда поле fieldA изменилось.

...