Salt la conținutul principal

Prezentare generală

Radio reprezintă o opțiune în cadrul RadioGroup. Atribuie fiecărei opțiuni o value distinctă și o etichetă vizibilă. Grupul deține valoarea selectată.

Utilizare

Proprietatea size acceptă sm sau md și are ca valoare implicită sm. Utilizați aceeași dimensiune pentru opțiunile dintr-un grup.

Opțiuni vizuale

Comparați stările selectată și dezactivată, dimensiunile și aspectele implicite și de card. Folosiți un grup etichetat de opțiuni pentru o alegere efectivă.

Părți complete

Radio.Root și Radio.Indicator expun părțile Base UI instalate fără asamblarea stilizată. Compuneți-le atunci când aveți nevoie de conținut personalizat sau de plasarea indicatorului. Elementul apelabil Radio oferă aspectul și indicatorul radio de la Twenty pentru opțiunile obișnuite.
Butoanele radio standard și Radio.Root redau un element span cu semantică de buton radio și un input nativ ascuns adiacent. Butoanele radio de tip card redau un div. ref vizează rădăcina redată; inputRef vizează intrarea. Radio.Indicator redă un span, iar referința sa vizează acel element. render, className și style bazate pe stare, atributele native și gestionarii de evenimente își păstrează contractele din amonte. Tipurile publice includ RadioProps, RadioRootProps, RadioRootState, RadioIndicatorProps și RadioIndicatorState.

Opțiuni card

Folosește variant="card" pentru opțiuni pe întreaga lățime, cu un indicator radio inserat. Butoanele radio de tip card își păstrează implicit rădăcina div. Utilizați render pentru a alege explicit un alt element. Când acel element este un buton nativ, setați și nativeButton. Păstrează controalele interactive în afara conținutului cardului. Oferiți grupului suficientă lățime pentru conținutul său și lăsați spațiu pentru indicator în partea din dreapta sus. Un titlu, o pictogramă și o scurtă descriere ajută la explicarea fiecărei opțiuni.

Compunere nativă explicită

Referința vizează butonul compus. Pentru rădăcini personalizate care nu sunt butoane, lăsați nativeButton la false și transmiteți proprietățile de randare furnizate și referința către elementul efectiv.

Tastatură și selecție

Tab intră în grup sau îl părăsește. Tastele săgeată se deplasează între opțiunile activate și selectează opțiunea focalizată. Spațiu selectează butonul radio focalizat. Butonul radio Base UI instalat suprimă selectarea cu Enter atât pentru rădăcinile implicite, cât și pentru butoanele native compuse. Gestionarele de selectare și de modificare aparțin de RadioGroup; consultați exemplul său necontrolat și exemplul controlat. Săgețile pentru butoane radio modifică selecția pe măsură ce mută focalizarea. Dropdown.SelectionGroup mută focalizarea cu săgețile și confirmă o alegere cu Enter sau Space. Radio și Radio.Root sunt generice în raport cu tipul valorii. Păstrați acest tip consecvent cu grupul său. Atributele native, precum aria-describedby, pot asocia o opțiune cu text de ajutor suplimentar.

Proprietăți

Referința este generată din tipurile publice ale componentelor. Atributele native, inclusiv numele accesibile și gestionarele de evenimente, sunt acceptate și pentru părțile care redau elemente.
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
implicit:"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"
implicit:"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
obligatoriu
The unique identifying value of the radio in a group.
"card" | "default"
implicit:"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
implicit:"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
obligatoriu
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
implicit:"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.