Components
@shadcn/react
@shadcn/helpers
Utilities
import { Label } from "@/components/ui/label"
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"
安装#
pnpm dlx shadcn@latest add radio-group
用法#
import { Label } from "@/components/ui/label"
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"<RadioGroup defaultValue="option-one">
<div className="flex items-center gap-3">
<RadioGroupItem value="option-one" id="option-one" />
<Label htmlFor="option-one">选项一</Label>
</div>
<div className="flex items-center gap-3">
<RadioGroupItem value="option-two" id="option-two" />
<Label htmlFor="option-two">选项二</Label>
</div>
</RadioGroup>组合#
使用以下组合构建一个 RadioGroup:
RadioGroup
├── RadioGroupItem
└── RadioGroupItem描述#
使用 Field 组件为单选按钮组项目添加描述。
Standard spacing for most use cases.
More space between elements.
Minimal spacing for dense layouts.
import {
Field,
FieldContent,选择卡片#
使用 FieldLabel 包裹整个 Field,以实现可点击的卡片式选择。
Pro
For growing businesses.
Enterprise
For large teams and enterprises.
import {
Field,
FieldContent,字段集#
使用 FieldSet 和 FieldLegend 将单选项与标签和描述分组。
import {
Field,
FieldDescription,已禁用#
在 RadioGroup 上使用 isDisabled 属性可禁用所有选项。
import { Field, FieldLabel } from "@/components/ui/field"
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"
无效#
在 RadioGroupItem 上使用 isInvalid,在 Field 上使用 data-invalid,以显示验证错误。
import {
Field,
FieldDescription,RTL#
要在 shadcn/ui 中启用 RTL 支持,请参阅 RTL 配置指南。
تباعد قياسي لمعظم حالات الاستخدام.
مساحة أكبر بين العناصر.
تباعد أدنى للتخطيطات الكثيفة.
"use client"
import * as React from "react"API 参考#
请参阅 React Aria Radio Group 文档。