Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Selector nativo

Envoltorio con estilo para el elemento <select> nativo, con la lista y el comportamiento de la plataforma y un aspecto adaptado a los tokens.

Instalación

npx logic2b@next add native-select

Uso

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 un Field para 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.

JSX generado
<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.

Ver JSON

NativeSelect

Componente
Props: React.ComponentProps<"select"> & VariantProps<typeof nativeSelectVariants>
PropiedadTipoObligatoriaValor predeterminadoDescripción
sizeundefinedNo——

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.

Ver JSON
Soporte
Semántica nativa
Patrón
select
HTMLSelectElement
Interacciones de teclado para native-select
TeclasComportamiento
ArrowUp ArrowDown ArrowLeft ArrowRightMove within the composite control.
Alt+ArrowDownOpen 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.