Dropdown en React Native: con y sin librería

Guía de dropdown en React Native

Dropdown en React Native: créalo con Modal + FlatList | We.Inc

Crea un dropdown en React Native sin librerías usando Modal y FlatList, o usa el Picker de la comunidad. Código para copiar, una vista previa web en vivo y una tabla de props.

React Native no incluye ningún dropdown ni select en su lista de componentes básicos. O construyes uno con un Pressable como disparador, un Modal y una FlatList de opciones, o instalas el paquete de la comunidad @react-native-picker/picker, que envuelve el selector nativo en Android e iOS. Construye el tuyo cuando necesites búsqueda, filas personalizadas o el mismo aspecto en todas las plataformas.

Tres formas de mostrar una lista de opciones

La vista previa de abajo ejecuta la misma lógica que el código de React Native que aparece más adelante, dibujada con elementos web para que puedas probarla aquí: abre la lista, fíltrala, elige una fila y ciérrala con Escape. Luego copia el componente y cambia las etiquetas web por View, Text, Pressable, Modal y FlatList.

Preguntas frecuentes

¿React Native tiene un dropdown integrado?

No. La página de componentes básicos incluye Button y Switch entre los controles de interfaz, y nada para selects. Para un select nativo ya hecho, instala el paquete de la comunidad @react-native-picker/picker.

¿Cómo hago que el Picker parezca un dropdown en Android?

Define mode="dropdown" en el Picker. Esa prop es solo de Android; allí el valor por defecto es "dialog", que abre una lista modal. En iOS el componente muestra en su lugar la rueda nativa.

¿Por qué al tocar una opción solo se cierra el teclado?

Una lista con scroll tiene keyboardShouldPersistTaps en "never" por defecto, así que el primer toque fuera del campo con foco cierra el teclado y la fila nunca lo recibe. Pon esa prop en "handled" en la FlatList.

¿Puedo añadir búsqueda a un dropdown de React Native?

Sí, con la versión hecha a mano. Guarda un texto de búsqueda en el estado, pon un TextInput en la parte superior del Modal y pasa el array filtrado a la prop data de la FlatList.

Cuándo construir el tuyo

Accesibilidad en un select personalizado

Las props que importan en un dropdown

Props básicas que usa el dropdown personalizado

Código de dropdown para copiar

Dropdown con Pressable, Modal y FlatList

Sin dependencias. El componente padre es dueño del valor; el componente solo comunica la elección mediante onChange.

El Picker de la comunidad

Instálalo con npm install @react-native-picker/picker. onValueChange recibe el valor del elemento y su posición.

Vista previa del dropdown

Versión web del componente de React Native: la misma lógica de abrir, filtrar y elegir, dibujada con HTML para que funcione aquí.

Ciudad

Elige...

Filtrar ciudades

Ninguna ciudad coincide con ese filtro.

Cerrar lista

Valor seleccionado: {v}

Todavía no hay nada seleccionado.

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio