الانتقال إلى المحتوى الرئيسي

نظرة عامة

يمثل Radio خيارًا واحدًا ضمن RadioGroup. امنح كل خيار value مميزًا وتسمية مرئية. تمتلك المجموعة القيمة المحددة.

استخدام

تقبل الخاصية size القيمة sm أو md، وتكون sm افتراضيًا. استخدم الحجم نفسه للخيارات في مجموعة.

الخيارات المرئية

قارن بين حالات المحدد والمعطل، والأحجام، والمظهرين الافتراضي والبطاقة. استخدم مجموعة خيارات معنونة لاتخاذ اختيار فعلي.

الأجزاء الكاملة

يكشف Radio.Root وRadio.Indicator عن أجزاء Base UI المثبتة دون التجميع المنسق. قم بتجميعها عندما تحتاج إلى محتوى مخصص أو موضع مخصص للمؤشر. يوفر Radio القابل للاستدعاء مظهر زر الاختيار والمؤشر الخاصين بـ Twenty للخيارات الشائعة.
تعرض أزرار الاختيار القياسية وRadio.Root عنصر span بدلالات زر اختيار وإدخالاً أصلياً مخفياً مجاوراً. تُعرِض أزرار الاختيار على هيئة بطاقة عنصر div. يستهدف ref الجذر المُعرَض؛ ويستهدف inputRef الإدخال. يُعرِض Radio.Indicator عنصر span، ويستهدف مرجعه ذلك العنصر. تحتفظ render وclassName وstyle المستندتان إلى الحالة والسمات الأصلية ومعالجات الأحداث بعقود المصدر الخاصة بها. تتضمن الأنواع العامة RadioProps وRadioRootProps وRadioRootState وRadioIndicatorProps وRadioIndicatorState.

خيارات البطاقة

استخدم variant="card" للخيارات بعرض كامل مع مؤشر زر اختيار داخلي. تحتفظ أزرار الاختيار على هيئة بطاقة بجذر div افتراضياً. استخدم render لاختيار عنصر آخر صراحةً. عندما يكون ذلك العنصر زراً أصلياً، اضبط أيضاً nativeButton. أبقِ عناصر التحكم التفاعلية خارج محتوى البطاقة. امنح المجموعة عرضًا كافيًا لمحتواها واترك مساحة للمؤشر في أعلى اليمين. يساعد العنوان والأيقونة والوصف القصير على شرح كل خيار.

تركيب أصلي صريح

يستهدف المرجع الزر المُركَّب. بالنسبة إلى الجذور المخصصة التي ليست أزراراً، اترك nativeButton بالقيمة false ومرّر خصائص العرض والمرجع المقدمين إلى العنصر الفعلي.

لوحة المفاتيح والتحديد

يدخل مفتاح Tab إلى المجموعة أو يخرج منها. تتنقل مفاتيح الأسهم بين الخيارات الممكّنة وتحدد الخيار الذي عليه التركيز. يحدد مفتاح المسافة زر الاختيار الذي عليه التركيز. يلغي زر الاختيار Base UI المثبّت التحديد بمفتاح Enter لكلٍ من الجذور الافتراضية والأزرار الأصلية المُركَّبة. توجد معالجات التحديد والتغيير على RadioGroup؛ راجع مثاله غير المتحكَّم به ومثاله المتحكَّم به. تغيّر أسهم زر الاختيار التحديد أثناء نقلها للتركيز. ينقل Dropdown.SelectionGroup التركيز باستخدام مفاتيح الأسهم ويؤكد اختيارًا باستخدام Enter أو Space. Radio وRadio.Root عامان بالنسبة إلى نوع القيمة. حافظ على اتساق هذا النوع مع مجموعته. يمكن للسمات الأصلية مثل aria-describedby ربط خيار بنص مساعدة إضافي.

الإزاحة

يتم إنشاء المرجع من أنواع المكونات العامة. تُقبل أيضًا السمات الأصلية، بما في ذلك الأسماء القابلة للوصول ومعالجات الأحداث، في الأجزاء التي تعرض عناصر.
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
افتراضي:"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"
افتراضي:"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
مطلوب
The unique identifying value of the radio in a group.
"card" | "default"
افتراضي:"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
افتراضي:"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
مطلوب
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
افتراضي:"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.