Pull to refresh

Comments 11

Большой проблемой является стилизация элементов <select>

Да как бы нет, уже все понаписали кастомные селекты и нормально живут

Ага, кроме меня. Особенно круто когда "макет уже согласован, пили как хочешь". — Но это же нарушение нашего style guide, — кричу я, яростно водя мышкой над грёбанным селектом. — У нас такого нет, я пол дня потрачу на эту штуковину! Но тщетно кричу: никто меня не слышит, кроме уже натренированных соседей. Ну псих орёт иногда по утрам, что с него взять? А дизайнер по сторону Figma, наблюдая на моим курсором, тихо, как бы в пустоту, прошепчет: — Я и не думал, что ему настолько понравится...

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

Даже мысль о подобном юзабилити говорит о небольшом опыте разработки. Я серьезно. Это же не панель самолёта. Хотя и в этом случае можно много что упростить. Но гнев контент менеджера заполняющего подобные таблицеформы велик. И боль его непередаваема.

А добавлять список option по ховеру/клику/фокусу оставляет желать лучшего? Как будто там можно хоть бесконечный скролл замутить.
У обычного селекта есть преимущество - открывается в нужную сторону в зависимости от положения на экране, а не в окне.

Успехов вам с асинхронной загрузкой вариантов по тапу, поиску нужного пункта по подстроке, отображению чего-либо помимо строки текста и тд, и тп.

Понятно что это не вундервафля и оч урезанный по возможностям контрол.
Но изначальная проблема с тысячами невидимых option решаема, или Вы не знаете?

Это первый шаг по костылям. Потом надо отслеживать закрытие селекта, чтобы эти тысячи опшенов удалять. Потом учесть, что опшен для текущего значения должен рендериться сразу и не удаляться. Когда вы решите все эти проблемы, у вас получится кастомный контрол, который зачем-то использует внутри нативный, и как следствие наследует от него все остальные 100500 его недостатков.

А что там забыл нативный селект? Обычно в такие вещи вставляют инпут, но и то только для поиска или для отправки данных через сабмит

Sign up to leave a comment.

Articles