Files
platforms/.agents/skills/arco-design-vue/references/components/data-entry/radio.md

99 lines
3.5 KiB
Markdown
Raw Normal View History

2026-08-10 23:34:28 +08:00
---
name: arco-vue-radio
description: "Arco Design Vue 单选框 Radio 组件参考。用于 Vue 3、`@arco-design/web-vue``<a-radio>`、属性、事件、插槽、示例和实现细节。"
user-invocable: false
---
# 单选框 Radio
## 简介
单选框的基本用法。
## 基本用法
```vue
<template>
<a-space size="large">
<a-radio value="radio">Radio</a-radio>
<a-radio value="disabled radio" :default-checked="true" disabled>Disabled Radio</a-radio>
</a-space>
</template>
```
## API
### `<radio>` 属性
|参数名|描述|类型|默认值|
|---|---|---|:---:|
|model-value **(v-model)**|绑定值|`string \| number \| boolean`|`-`|
|default-checked|默认是否选中(非受控状态)|`boolean`|`false`|
|value|选项的 `value`|`string \| number \| boolean`|`true`|
|type|单选的类型|`'radio' \| 'button'`|`'radio'`|
|disabled|是否禁用|`boolean`|`false`|
### `<radio>` 事件
|事件名|描述|参数|
|---|---|---|
|change|值改变时触发|value: ` string \| number \| boolean `<br>ev: `Event`|
### `<radio>` 插槽
|插槽名|描述|参数|版本|
|---|:---:|---|:---|
|radio|自定义单选框|checked: `boolean`<br>disabled: `boolean`|2.18.0|
### `<radio-group>` 属性
|参数名|描述|类型|默认值|版本|
|---|---|---|:---:|:---|
|model-value **(v-model)**|绑定值|`string \| number \| boolean`|`-`||
|default-value|默认值(非受控状态)|`string \| number \| boolean`|`''`||
|type|单选框组的类型|`'radio' \| 'button'`|`'radio'`||
|size|单选框组的尺寸|`'mini' \| 'small' \| 'medium' \| 'large'`|`-`||
|options|选项|`Array<string \| number \| RadioOption>`|`-`|2.27.0|
|direction|单选框组的方向|`'horizontal' \| 'vertical'`|`'horizontal'`||
|disabled|是否禁用|`boolean`|`false`||
### `<radio-group>` 事件
|事件名|描述|参数|
|---|---|---|
|change|值改变时触发|value: ` string \| number \| boolean `|
### `<radio-group>` 插槽
|插槽名|描述|参数|版本|
|---|:---:|---|:---|
|radio|自定义单选框|checked: `boolean`<br>disabled: `boolean`|2.27.0|
|label|radio 文案内容|data: `RadioOption`|2.27.0|
### RadioOption
|参数名|描述|类型|默认值|
|---|---|---|:---:|
|label|文案|`RenderContent`|`-`|
|value|选项的 `value`|`string \| number`|`-`|
|disabled|是否禁用|`boolean`|`false`|
## 常用模式
- **受控**:通过 `v-model` (`model-value`) 属性控制是否选中
- **单选框组**:通过 `<a-radio-group>` 组件展示单选框组。
- **单选框组选项**`a-radio-group` 通过 `options` 属性设置子元素
- **单选框组方向**:通过设置 `direction="vertical"` 可以展示竖直的单选框组。
- **按钮类型的单选框组**:通过指定 `type="button"` ,可以显示按钮类型的单选框组。
- **按钮类型单选框组的尺寸**:按钮类型的单选框组分为 `mini``small``medium``large` 四种尺寸。
- **布局**:使用 `<a-radio-group>` 传入 `<a-radio>`,配合 `<a-grid>` 组件实现灵活的布局。
- **自定义单选框**:使用 #radio 插槽自定义复选框的展示
## 最佳实践
- 新代码优先使用 Vue 3、Composition API 和 `<script setup lang="ts">`
- 模板属性使用 kebab-case事件使用 `@event-name`,插槽使用 `#slot-name`
- 不要套用 React 专属 API例如 JSX children、`Component.Sub``Form.useForm`
- 需要进入表单校验或提交流程的控件,优先放在 `a-form-item` 中并绑定明确的 `field`
- 输入值优先使用 `v-model`;范围、弹窗类状态使用组件文档中的命名 `v-model:*`