1. Select2

Un reemplazo basado en jQuery para las cajas de selección, que soporta búsqueda, etiquetado, conjuntos de datos remotos, desplazamiento infinito y muchas otras opciones muy utilizadas.

Soporte de Framework:

  • React: Soporte indirecto a través de envoltorios como react-select2-wrapper.
  • Angular: Integración posible a través de directivas o envoltorios de terceros.
  • Vue.js: Hay envoltorios como vue-select2 disponibles.

Estrellas en Github: 26,000+

Descargas Semanales en NPM: ~597,343

Tamaño del paquete:  Aproximadamente 27 KB (minificado)

Primera versión: Marzo 2012

Última versión: Enero 28, 2020 (v4.0.13)

Sitio web: https://select2.org

Github: https://github.com/select2/select2

Demostración en vivo:

Un selector de zona horaria buscable y agrupado con Select2

2. Choices.js

Choices.js es una biblioteca de JavaScript ligera y sin dependencias para crear listas desplegables personalizables, entradas de etiquetas y campos de autocompletar. Ofrece gran flexibilidad, estilo moderno y accesibilidad, lo que la hace perfecta para mejorar formularios sin depender de jQuery.

Soporte de Framework:

  • React: Se puede integrar con envoltorios personalizados.
  • Angular: Integración posible a través de directivas.
  • Vue.js: Se puede integrar con componentes personalizados.

Estrellas en GitHub: 6,400+

Descargas Semanales en NPM: ~179,897

Tamaño del paquete: aproximadamente 78 KB (minificado)

Primera versión: Octubre 2016

Última versión: Febrero 2025 (v11.0.6)

Sitio web: https://choices-js.github.io/Choices

Github: https://github.com/Choices-js/Choices

Demostración en vivo:

Un selector de zona horaria buscable y agrupado con Choices.js

3. Tom Select

Tom Select es una biblioteca de JavaScript ligera y rica en características para crear cajas de selección personalizables, entradas de autocompletar y entradas de etiquetas. Soporta carga de datos remotos, navegación por teclado y selección múltiple, lo que la convierte en una gran alternativa a Select2 con un diseño moderno y sin dependencias.

Soporte de Framework:

  • React: Envoltorio oficial disponible.
  • Angular: Integración posible a través de directivas personalizadas.
  • Vue.js: Envoltorio oficial disponible.

Estrellas en GitHub: 1,800+

Descargas Semanales en NPM: ~91,842

Tamaño del paquete: aproximadamente 53 KB (minificado)

Primera versión: Noviembre 2020

Última versión: Febrero 2025 (v2.4.3)

Sitio web: https://tom-select.js.org/

Github: https://github.com/orchidjs/tom-select

Demostración en vivo:

Un selector de zona horaria buscable y agrupado con Tom Select

4. React Select

React-Select es una hermosa, flexible y altamente personalizable biblioteca de listas desplegables para React. Soporta opciones buscables, asíncronas, de selección múltiple y agrupadas, lo que la hace perfecta para manejar grandes conjuntos de datos. Con accesibilidad y tematización integradas, es una opción ideal para aplicaciones modernas de React.

Soporte de Framework:

  • React: Diseñada específicamente para aplicaciones de React.

Estrellas en GitHub: 27,900+

Descargas Semanales en NPM: ~4,328,556

Primera versión: Noviembre 2020

Última versión: Julio 2018 (react-select@5.10.1)

Sitio web: https://react-select.com

Github: https://github.com/JedWatson/react-select

Demostración en vivo:

Un selector de zona horaria buscable y agrupado con React Select

5. Downshift

Downshift es una biblioteca ligera y sin cabeza para listas desplegables y autocompletar para React. Proporciona componentes flexibles, accesibles y personalizables para construir cajas de selección, entradas de autocompletar y comboboxes sin imponer ningún estilo. Perfecto para desarrolladores que desean tener control total sobre la interfaz de usuario mientras aseguran la accesibilidad WAI-ARIA.

Soporte de Framework:

  • React: Diseñada específicamente para aplicaciones de React.

Estrellas en GitHub: 12,200+

Descargas Semanales en NPM: ~1,335,528

Primera versión: Agosto 2017

Última versión: Agosto 2024 (v9.0.8)

Sitio web: https://www.downshift-js.com

Github: https://github.com/downshift-js/downshift

Demostración en vivo: