каждый раз, передаю в него какой-нибудь быкэндерский объект, внутри компонента втыкаю дефолтные значения для пропсов типа
export let length = data.length ?? 20;
И через $: собираю объект для бинда наверх, хотя после реакта мне уже больше нравится колбек
$: exportedObject = {
length,
...
}
Ну и имею в этом спец компоненте объект touchedFields в который пишу на on:blur, и errors, в который пишу на on:input.
errors пропсами раскидываю по инпутам или в произвольные места, touchedFields использую чтобы понять можно ли уже орать на юзера или нет
Как у тебя ?
У меня форм не так много, а где есть они жесткие, с обновлением стейта в зависимости от ввода. Всё от задачи зависит. На пользователя не ору, показываю заблоченную кнопку и рядом поля (якорными ссылками), которые нужно дозаполнить, чтобы продолжить. Но сейчас уже делал бы иначе, наверное. Всё от задачи. На потоке формы не делаю.
а можешь поподробнее про то куда ты пишешь в стейт, в объект, в простые переменные в скоупе компонента? ошибки в объекте держишь, или тоже по переменной для каждого поля? как бы делал иначе сейчас ?
Иначе — есть идея оставлять кнопку активной и отдельно показывать не заполненные поля после клика. Особенно актуально для длинных форм. Ну и флоуформы мне оч нравятся, там можно предлагать исправить ошибки находу.
Обсуждают сегодня