Даже на очень простых элементы форм можно споткнуться что я периодически и делаю поэтому пусть тут живёт эта напоминалка
Чекбоксы в состоянии indeterminate
Это ни true, ни false, а что-то между. Используется, например, в деревьях: часть дочерних чекбоксов выбрана, часть нет — родительский становится indeterminate. У меня чаще встречается в массовом редактировании, когда у разных сущностей (например, карточек товаров) разные значения одного и того же свойства.
Что важно:
- indeterminate — не HTML-атрибут, а JS-свойство. Его нужно выставлять вручную, поэтому
фронт может возмущатьсянужно проверять на фронтчеке внимательно, что всё работает как надо - Нет однозначного паттерна — когда пользователь нажимает на такой чекбокс, он может перейти как в true, так и в false. Тут нужно хорошо подумать над сценарием и выбрать (и прописать) желаемое поведение.
- Нужно ли уметь вернуть состояние indeterminate? Если да, нужно ещё придумать, как сообщить об этом пользователю. В моём продукте, например, такой опции нет, пользователь либо не трогает, либо задаёт одно значение для всех сущностей, либо выходит без сохранения.
Инпуты в массовом редактировании
Когда значения разные (например, скидки у товаров), удобнее отображать «Разные» как плейсхолдер, а не значение. Тогда пользователь может начать удалить, что ввёл, и все старые значения останутся нетронутыми. Если же отобразить «Разные» как value, поле будет выглядеть «заполненным», но очистить его уже нельзя — разве что отменой всей формы.
Тогглы (особенно в вебе)
Тогглы любят — они визуально приятные и похожи на реальные переключатели. Но часто их ставят не туда.
Когда нужен тоггл:
- Действие происходит сразу, без кнопки «Сохранить»
- Это системная или глобальная настройка («Включить тёмную тему», «Получать уведомления»)
- Меняется поведение системы, а не содержимое формы
Когда уместнее чекбокс:
- Изменение применяется при сохранении формы
- Нужно выразить «да/нет», но не запускать процесс
- Это часть массового редактирования или формы с множеством полей
Тоггл в массовом редактировании — отдельный вид мазохизма.
А ещё к тогглу часто сложно написать понятное значение, можно написать что-нибудь вроде «Отключить уведомления» и будет не понятно, что в итоге включено — уведомления или сама функция их отключения.



Дискуссия