Instalación
npx logic2b@next add native-selectUso
import { NativeSelect } from "@/components/ui/native-select"
<NativeSelect
aria-label="Fruta favorita"
defaultValue="manzana"
className="w-[180px]"
>
<option value="manzana">Manzana</option>
<option value="platano">Plátano</option>
</NativeSelect>
Selector nativo o Selector
Usa NativeSelect en vez de Select cuando
prefieras el selector del navegador a una lista personalizada:
- Móviles: abre la rueda o panel nativo del sistema operativo, que es el comportamiento habitual en dispositivos táctiles.
- Listas de opciones extensas: aporta desplazamiento y búsqueda incremental nativos sin necesidad de virtualización.
- Formularios sin presupuesto para interactividad JavaScript: es un
<select>real, por lo que funciona directamente con el envío y la validación nativos del formulario.
Elige Select cuando necesites contenido personalizado en las opciones, como
iconos, descripciones o encabezados de grupo, o una lista cuyo aspecto coincida
exactamente con el de los paneles emergentes.
Ejemplos
Desactivado
Accesibilidad
Genera un elemento <select> real, por lo que hereda la semántica de lista y el
soporte de teclado del navegador:
- Se abre con Intro, Espacio o ↓, y se cierra con Esc o al elegir una opción.
- La búsqueda incremental salta a la primera opción coincidente.
- Las tecnologías de asistencia anuncian el control como selector nativo sin configuración ARIA adicional.
- Asócialo a un
<label htmlFor>o envuélvelo en unFieldpara darle un nombre accesible.
Playground interactivo
Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.
<NativeSelect
size="default"
defaultValue="team"
aria-label="Workspace plan"
>
<option value="starter">Starter</option>
<option value="team">Team</option>
<option value="enterprise">Enterprise</option>
</NativeSelect>Referencia de API
Generada a partir de las exportaciones públicas de TypeScript en src/ui/native-select.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.
NativeSelect
ComponenteProps: React.ComponentProps<"select"> & VariantProps<typeof nativeSelectVariants>| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
size | undefined | No | — | — |
Contrato de accesibilidad
Comportamiento legible por máquinas y responsabilidades de quien integra native-select. Los detalles normativos conservan el texto canónico del registro.
- Soporte
- Semántica nativa
- Patrón
- select
- HTMLSelectElement
| Teclas | Comportamiento |
|---|---|
| ArrowUp ArrowDown ArrowLeft ArrowRight | Move within the composite control. |
| Alt+ArrowDown | Open the platform option picker where supported. |
Semántica incorporada
- Uses native select/listbox semantics and forwards invalid/disabled state.
Responsabilidades de integración
- Associate it with a label; do not rely on placeholder-like first options as the name.