Components
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>示例
描述
使用 Field 组件带描述的单选组项目。
Standard spacing for most use cases.
More space between elements.
Minimal spacing for dense layouts.
import {
Field,
FieldContent,选择卡片
使用 FieldLabel 包裹整个 Field,实现可点击的卡片式选择。
import {
Field,
FieldContent,字段集
使用 FieldSet 和 FieldLegend 将单选项目分组,并添加标签和描述。
import {
Field,
FieldDescription,禁用状态
在 RadioGroup 上使用 disabled 属性禁用所有项目。
import { Field, FieldLabel } from "@/components/ui/field"
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"
无效状态
在 RadioGroupItem 上使用 aria-invalid,在 Field 上添加 data-invalid 显示校验错误。
import {
Field,
FieldDescription,API 参考
详见 Base UI 单选组 文档。