Группировка и проверка полей - PullRequest
0 голосов
/ 15 января 2020

У нас есть форма с полями, сгруппированными по экранам (разделам). Это разделение выполняется только визуально. Экраны названы и перечислены (всегда видимые) в левой части экрана. Отображаемое имя будет белым, если этот раздел отображается в данный момент. Если в каком-либо поле есть ошибка, отображаемое имя помечается красным, чтобы вы всегда знали, в каком разделе произошла ошибка. Такое поведение реализовано в каждом компоненте экрана (совсем не оптимально). mockup

Проверка на стороне клиента работает хорошо (пока не всегда реализуется с помощью валидаторов). Но теперь я хочу реализовать то же поведение, если мы получим ошибку от API. Значение экранного имени - красное, если у поля есть ошибка отправки, и не красное, когда это поле было отредактировано.

В основном мне нужно сгруппировать поля ввода в Screen компонент, который подписывается на каждое поле error, submitError и dirtySinceLastSubmit. Затем мне нужно определить новую переменную состояния valid в этом компоненте Screen, которая проверяет все дочерние состояния и устанавливает соответствующее значение на основе каждого дочернего состояния.

Возможно ли группировать поля в реагировать -финал-форма и подписаться на изменения состояния ребенка?

1 Ответ

1 голос
/ 16 января 2020

Я мог бы рассмотреть возможность разбить их на отдельные формы и управлять общими значениями формы в родительском компоненте, как в Wizard Example . Другой вариант - подписаться на наборы полей с чем-то вроде этого:

Edit blissful-silence-qv7sd

Это немного технически непослушно, и правило lint о хуках будет жаловаться, но как Если вы никогда не меняете список полей, все будет в порядке.

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