React select async

Escenario

Estoy diseñando un formulario web en el que quiero mostrar un combo que se carga dinámicamente con una petición XHR.

Problema

Los datos a cargar cuentan con miles de registros. Necesito un combo que se cargue de manera dinámica y disponga de un autocomplete para filtrar los resultos.

Solución

React select es un módulo de React que he venido usando desde hace algún tiempo y siempre ha respondido a mis expectativas. Hasta ahora nunca lo había utilizado para cargar los datos de manera asíncrona. La diferencia es que, en vez de usar el componente por defecto, usamos react-select/async y la llamada loadOptions debe devolver un promise. Al final, he acabado descartando usar un react-select porque necesitaba cargar más de 7000 registros y por muy rápido y asíncrono que sea, la capacidad de reacción del combo disminuye considerablemente, afectando la experiencia de usuario. Aun así me he dicho que voy a dejar el código por aquí por si algún otro día me hace fata:

Publicaciones Similares

  • Renovación de la llave gpg

    Escenario En mi trabajo usamos gpg para cifrar los documentos con información sensible. Problema Resulta que, en su día, di de alta la clave con una esperanza de vida de dos años. Y dos años pasan muy rápido. Solución Estos son los comandos que hay que ejecutar para extender la fecha de caducidad. Para listar…

  • Recuperar perfil de Firefox de un disco duro

    Escenario Después de 13 años de fiel servicio mi ordenador de casa no arranca, se queda atascado en la pantalla de la BIOS. Tras unas tentativas vanas para intentar arreglarlo me decidí por cambiar de ordenador. Después de todo, aunque había estado funcionando correctamente, al tener un sistema operativo de 32 bits, cada vez eran…

  • Sonata Admin: el calendario no se cierra

    Escenario Incluir un filtro de rango de fechas en SonataAdmin que use un calendario para seleccionar la fecha es más o menos fácil. Primero añadimos el siguiente bloque en el admin de nuestra entidad:

    Y la siguiente clave bajo form_themesen el fichero config/packages/twig.yaml:

    Problema El calendario no se cierra automáticamente cuando se selecciona…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *