Comments 8
Довольно часто бывает нужен такой компонент. Вот недавно искал такой для нативного js без jQuery, select2 по этой причине не подошел. А для vue2 как-то находил прикольный компонент, который кроме прочего мог очень большие списки без тормозов выводить.
"Tom Select" кажется на ванильном JS сделан.
А для Vue я вообще замучился искать select c фильтрацией, который мог бы подтягивать опции из бекенда, при этом иметь нормальные настройки. Например, нормальное управление плейсхолдером в дропдауне при подтягивани опций с сервера.
В одном селекте я вел эпичную битву с отсутствием ивента на "удаление ранее выбранной опции", потому что персонажу, создавшему эту поделку не пришло в голову, что для такого действия нужно генерировать ивент (в Vue). Для меня такое - базовый функционал.
У всех этих библиотек куча кастомизируемого мусора, а то, что (мне) нужно делается костыльно, либо вообще невозможно сделать. Причем, приходится потратить много времени, чтобы понять, что "чего-то важного для меня не хватает".
jQuery и по сей день остается самым быстрым и простым в плане поиска и адаптации каких-либо компонентов, и никакие помои, выливаемые в интернете на тех, кто использует jQuery, не изменят этот факт.
IMHO, все, что касается SPA создают альернативно мыслящие любители кривых UI, которые постепенно делают интернет неюзабельным.
Нет, ну можно и свой велдосипед написать на модном SPA фреймворке...
Супер! Очень познавательно!
Классная статья! Приятно видеть пример с contenteditable и vue. Кстати, планируется ли какая-то защита от дурака в нем? В contenteditable можно же по-идее вставить даже картинку из буфера обмена.
Спасибо, полезно
Спасибо тебе друг, да вернется тебе благо!
Спасибо! В закладки!
На ванильном JS находил как-то для проекта, но без переноса строк и т.д. Кривоватый в общем. Сейчас как раз vue3 начал использовать в проектах. А тут все как надо продумано.
Стоит сразу упомянуть готовые решения которые будут включать кастомизацию, группы, одиночный режим, поддержку асинхронных опций, эвенты, i18n и т.д.
Сейчас одно из самых лучших решений https://github.com/vueform/multiselect. Написано на Composition API. Там есть табличка сравнения с другими библиотеками в описании.
Полезные чипсы с Vue 3 Composition API: Создание адаптивного компонента с фильтрацией и множественным выбором