Radio
基础用法
html
<pa-radio-group v-model="value">
<pa-radio v-for="item in options" :key="item.name" :name="item.name">
{{ item.label }}
</pa-radio>
</pa-radio-group>
<pa-radio-group v-model="value" class="block mt-50">
<pa-radio v-for="item in options" :key="item.name" :name="item.name" label-position="left">
{{ item.label }}
</pa-radio>
</pa-radio-group>ts
import { ref } from 'vue'
const value = ref<number>(0)
const options = new Array(3).fill(0).map((_item, index) => ({
name: index,
label: '单选框' + index,
}))水平方向
html
<pa-radio-group v-model="value" direction="horizontal">
<pa-radio v-for="item in options" :key="item.name" :name="item.name">
{{ item.label }}
</pa-radio>
</pa-radio-group>
<pa-radio-group v-model="value" direction="horizontal" class="block mt-50">
<pa-radio v-for="item in options" :key="item.name" :name="item.name" label-position="left">
{{ item.label }}
</pa-radio>
</pa-radio-group>ts
import { ref } from 'vue'
const value = ref<number>(0)
const options = new Array(3).fill(0).map((_item, index) => ({
name: index,
label: '单选框' + index,
}))形状
html
<pa-radio-group v-model="value">
<pa-radio v-for="item in options" :key="item.name" :name="item.name" shape="square">
{{ item.label }}
</pa-radio>
</pa-radio-group>ts
import { ref } from 'vue'
const value = ref<number>(0)
const options = new Array(3).fill(0).map((_item, index) => ({
name: index,
label: '单选框' + index,
}))禁用
html
<pa-radio-group v-model="value">
<pa-radio
v-for="item in options"
:key="item.name"
:name="item.name"
:disabled="item.name === 1"
>
{{ item.label }}
</pa-radio>
</pa-radio-group>
<pa-radio-group v-model="value" disabled class="block mt-50">
<pa-radio v-for="item in options" :key="item.name" :name="item.name">
{{ item.label }}
</pa-radio>
</pa-radio-group>ts
import { ref } from 'vue'
const value = ref<number>(0)
const options = new Array(3).fill(0).map((_item, index) => ({
name: index,
label: '单选框' + index,
}))Radio Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| name | 标识符 | RadioValue | '' |
| shape | 形状 | 'square'|'round' | 'round' |
| disabled | 是否为禁用状态 | boolean | - |
| labelDisabled | 是否禁用文本内容点击 | boolean | - |
| labelPosition | 文本位置 | 'left'|'right' | 'right' |
| iconSize | 图标大小 | string | number | '20px' |
| checkedColor | 选中状态颜色 | CSSProperties['color'] | - |
RadioGroup Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| name | 标识符 | string | '' |
| modelValue | 值 | RadioValue | - |
| direction | 方向 | 'horizontal'|'vertical' | 'vertical' |
| disabled | 是否全部禁用 | boolean | - |
Radio Event
| 事件名 | 参数 |
|---|---|
| change | (value: RadioValue) |
RadioGroup Event
| 事件名 | 参数 |
|---|---|
| update:modelValue | (value: RadioValue) |
| change | (value: RadioValue, name: string) |
Radio Slot
| 名称 | 说明 |
|---|---|
| default | - |
| default | - |
RadioGroup Slot
| 名称 | 说明 |
|---|---|
| default | - |
样式变量
| 名称 | 默认值 |
|---|---|
| --pa-radio-size | 20px |
| --pa-radio-display | flex |
| --pa-radio-margin | 0 |
| --pa-radio-font-size | 16px |
| --pa-radio-label-color | var(--pa-color-black) |
| --pa-radio-checked-color | var(--pa-color-primary) |
| --pa-radio-checked-color | var(--pa-color-primary) |