Resumen
UsaTabButton para enlaces de ruta y acciones como añadir una pestaña o abrir un menú de desbordamiento. Comparte la apariencia de Tabs y usa Button para la interacción.
”Uso”
Estado y semántica
Tu aplicación proporcionaactive a partir de su estado actual de ruta o menú. Esta propiedad resalta el control. Establece aria-current="page" en el enlace de la ruta actual. Los enlaces de ruta y las acciones adyacentes conservan su semántica de enlace o botón, sin función de pestaña, aria-selected ni relación con el panel.
Usa Tabs.Root, Tabs.List, Tabs.Tab, Tabs.Panel y el Tabs.Indicator opcional para alternar entre paneles de contenido relacionados. Mantén los controles de ruta y acción fuera de Tabs.List.
Navegación
Establecehref para renderizar un enlace nativo. La ruta actual controla su apariencia active y su valor aria-current.
render, establece nativeButton={false} y role="link", y pasa el destino resuelto como href. Mantén las opciones de estado e historial de la ruta en el enlace del enrutador. Los envoltorios personalizados deben reenviar las props y la ref proporcionadas a su ancla.
nativeButton explícito controla el contrato de interacción incluso cuando href está presente. Haz que coincida con el elemento realmente renderizado. Los enlaces deshabilitados conservan su función de enlace y bloquean la activación.
Acciones
Sinhref, el control representa un botón nativo con type="button". Los atributos nativos, las referencias, los estilos, los nombres de clase y los controladores de eventos se transfieren. render acepta un elemento o una función que recibe las props y el estado de Button. Las refs apuntan al botón o ancla realmente renderizados, incluidas las refs proporcionadas en un elemento compuesto.
startIcon, endIcon y badge para contenido complementario. Un avatar pasado a una ranura de icono es decorativo cuando el texto nombra el destino. size conserva el contrato público de tamaño de Button. Un tamaño explícito tiene prioridad sobre el tamaño de un ButtonGroup circundante; de lo contrario, el componente usa sm de forma predeterminada.
”Props”
boolean
predeterminado:"false"
Highlights the current destination or an action associated with the active tab. Does not change the control role.
ReactNode
Content following the label and trailing icon, such as a count.
string | ((state: ButtonState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
ReactNode
Decorative content displayed after the label.
boolean
predeterminado:"false"
Whether the button should be focusable when disabled.
string
Destination URL. Renders a native anchor when
render is omitted unless nativeButton is explicitly true. Custom renderers retain their own element contract.boolean
predeterminado:"true"
Whether the rendered root is a native button. Defaults to true for custom renderers. The built-in
href anchor defaults to false; an explicit value takes precedence.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ButtonState>
Caller-supplied root element or renderer. Native attributes, handlers, event details, and refs reach the rendered root. Use
nativeButton={false} and role="link" for a custom navigation anchor. Router integration belongs to the caller.AriaRole
Role of the root element. Use
link for custom navigation renderers."md" | "sm"
predeterminado:"sm"
Padding of the tab content: sm or md. Explicit size takes precedence over the ButtonGroup size, then sm applies.
ReactNode
Decorative content displayed before the label.
CSSProperties | ((state: ButtonState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.