Vai al contenuto principale

Panoramica

Usa TabButton per i link di percorso e le azioni, ad esempio l’aggiunta di una scheda o l’apertura di un menu di overflow. Condivide l’aspetto di Tabs e usa Button per l’interazione.

Utilizzo

Stato e semantica

L’applicazione fornisce active dalla route corrente o dallo stato del menu. Questa proprietà evidenzia il controllo. Imposta aria-current="page" sul link del percorso corrente. I link di percorso e le azioni adiacenti mantengono la semantica di link o pulsante, senza ruolo di scheda, aria-selected o relazione con il pannello. Usa Tabs.Root, Tabs.List, Tabs.Tab, Tabs.Panel e l’opzionale Tabs.Indicator per passare da un pannello di contenuti correlati all’altro. Mantieni i controlli di route e azione al di fuori di Tabs.List. Imposta href per eseguire il rendering di un link nativo. La route corrente gestisce il proprio aspetto active e il valore aria-current.
Per il routing lato client, fornisci il link del router tramite render, imposta nativeButton={false} e role="link" e passa la destinazione risolta come href. Mantieni lo stato della route e le opzioni della cronologia nel link del router. I wrapper personalizzati devono inoltrare i props e il ref forniti al proprio anchor.
Un valore esplicito di nativeButton controlla il contratto di interazione anche quando href è presente. Abbinalo all’elemento effettivamente sottoposto a rendering. I link disabilitati mantengono il ruolo di link e bloccano l’attivazione.

Azioni

Senza href, il controllo renderizza un pulsante nativo con type="button". Attributi nativi, ref, stili, nomi delle classi e gestori di eventi vengono inoltrati. render accetta un elemento o una funzione che riceve i props e lo stato di Button. I ref puntano al pulsante o all’anchor effettivamente sottoposto a rendering, inclusi i ref forniti su un elemento composto.
Usa startIcon, endIcon e badge per i contenuti di supporto. Un avatar passato a uno slot di icona è decorativo quando il testo denomina la destinazione. size mantiene il contratto pubblico per le dimensioni di Button. Una dimensione esplicita ha la priorità su una dimensione di ButtonGroup circostante; altrimenti il componente usa per impostazione predefinita sm.

Props

boolean
predefinito:"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
predefinito:"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
predefinito:"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"
predefinito:"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.