Resumen
Radio representa una opción dentro de RadioGroup. Asigna a cada opción un value distinto y una etiqueta visible. El grupo posee el valor seleccionado.
”Uso”
size acepta sm o md y su valor predeterminado es sm. Usa el mismo tamaño para las opciones de un grupo.
Opciones visuales
Compara los estados seleccionado y deshabilitado, los tamaños y las apariencias predeterminada y de tarjeta. Usa un grupo de opciones con etiqueta para una elección real.Partes completas
Radio.Root y Radio.Indicator exponen las partes instaladas de Base UI sin el ensamblaje con estilos. Combínalos cuando necesites contenido personalizado o una ubicación personalizada del indicador. El Radio invocable proporciona la apariencia de radio y el indicador de Twenty para opciones comunes.
Radio.Root representan un span con semántica de radio y una entrada nativa oculta adyacente. Los radios de tarjeta renderizan un div. ref apunta a la raíz renderizada; inputRef apunta a la entrada. Radio.Indicator renderiza un span y su ref apunta a ese elemento. render, className y style basados en el estado, los atributos nativos y los controladores de eventos conservan sus contratos originales. Los tipos públicos incluyen RadioProps, RadioRootProps, RadioRootState, RadioIndicatorProps y RadioIndicatorState.
Opciones de tarjeta
Usevariant="card" para opciones de ancho completo con un indicador de radio insertado. Los radios de tarjeta conservan su raíz div de forma predeterminada. Usa render para elegir explícitamente otro elemento. Cuando ese elemento es un botón nativo, configura también nativeButton. Mantenga los controles interactivos fuera del contenido de la tarjeta.
Proporciona al grupo suficiente ancho para su contenido y deja espacio para el indicador en la parte superior derecha. Un título, un icono y una descripción breve ayudan a explicar cada opción.
Composición nativa explícita
nativeButton en false y reenvía las props de render proporcionadas y el ref al elemento real.
Teclado y selección
Tab entra o sale del grupo. Las teclas de flecha se desplazan entre las opciones habilitadas y seleccionan la opción enfocada. Espacio selecciona el botón de opción enfocado. El radio de Base UI instalado impide la selección con Enter tanto para las raíces predeterminadas como para los botones nativos compuestos. Los controladores de selección y cambio pertenecen aRadioGroup; consulta su ejemplo no controlado y su ejemplo controlado.
Las flechas de radio cambian la selección a medida que desplazan el foco. Dropdown.SelectionGroup mueve el foco con las flechas y confirma una opción con Intro o Espacio.
Radio y Radio.Root son genéricos respecto al tipo de valor. Mantén ese tipo coherente con su grupo. Los atributos nativos como aria-describedby pueden asociar una opción con texto de ayuda adicional.
”Props”
La referencia se genera a partir de los tipos de componentes públicos. Los atributos nativos, incluidos los nombres accesibles y los controladores de eventos, también se aceptan en las partes que representan elementos.ReactNode
Option content. Card options wrap it in a padded full-width content area.
string | ((state: RadioRootState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean
Whether the component should ignore user interaction.
Ref<HTMLInputElement>
A ref to access the hidden input element.
boolean
predeterminado:"false"
Whether the component renders a native
<button> element when replacing it
via the render prop.
Set to true if the rendered element is a native button.boolean
Whether the user should be unable to select the radio button.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, RadioRootState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.boolean
Whether the user must choose a value before submitting a form.
"md" | "sm"
predeterminado:"sm"
Visual size of the radio.
CSSProperties | ((state: RadioRootState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
TValue
requerido
The unique identifying value of the radio in a group.
"card" | "default"
predeterminado:"default"
Appearance of the styled assembly: a standard radio or a full-width card. Standard radios use a span and card radios use a div unless render replaces the root.
Radio.Root
string | ((state: RadioRootState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean
Whether the component should ignore user interaction.
Ref<HTMLInputElement>
A ref to access the hidden input element.
boolean
predeterminado:"false"
Whether the component renders a native
<button> element when replacing it
via the render prop.
Set to true if the rendered element is a native button.boolean
Whether the user should be unable to select the radio button.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, RadioRootState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.boolean
Whether the user must choose a value before submitting a form.
CSSProperties | ((state: RadioRootState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
Value
requerido
The unique identifying value of the radio in a group.
Radio.Indicator
string | ((state: RadioIndicatorState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean
predeterminado:"false"
Whether to keep the HTML element in the DOM when the radio button is inactive.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, RadioIndicatorState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: RadioIndicatorState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.