Radio 单选框
示例
尺寸
可选的 ui 属性值:small。
<template>
<article>
<section>
<veui-radio :checked.sync="normal">
Normal size
</veui-radio>
<veui-radio
:checked.sync="small"
ui="small"
>
Small size
</veui-radio>
</section>
<section>
<veui-button
ui="small"
@click="reset"
>
Reset
</veui-button>
</section>
</article>
</template>
<script>
import { Radio, Button } from 'veui'
export default {
components: {
'veui-radio': Radio,
'veui-button': Button
},
data () {
return {
normal: false,
small: false
}
},
methods: {
reset () {
this.normal = false
this.small = false
}
}
}
</script>值设定
可以通过设置 value 来修改选中状态下 model 属性(v-model)的值。
Selected: -
<template>
<article>
<veui-radio
v-for="({ value, label }) in flavors"
:key="value"
v-model="flavor"
:value="value"
>
{{ label }}
</veui-radio>
<p>Selected: {{ flavorLabelMap[flavor] || '-' }}</p>
</article>
</template>
<script>
import { Radio } from 'veui'
export default {
components: {
'veui-radio': Radio
},
data () {
return {
flavor: null,
flavors: [
{ value: 'LATTE', label: 'Latte' },
{ value: 'MOCHA', label: 'Mocha' },
{ value: 'AMERICANO', label: 'Americano' }
]
}
},
computed: {
flavorLabelMap () {
return this.flavors.reduce((map, { value, label }) => {
map[value] = label
return map
}, {})
}
}
}
</script>API
属性
| 名称 | 类型 | 默认值 | 描述 | ||||
|---|---|---|---|---|---|---|---|
ui | string | - | 预设样式。
| ||||
model | * | - |
当前状态的值。选中状态为 | ||||
checked | boolean | false |
是否处于选中状态。 | ||||
value | * | true | 选中状态对应的值。 | ||||
disabled | boolean | false | 是否为禁用状态。 | ||||
readonly | boolean | false | 是否为只读状态。 |
插槽
| 名称 | 描述 |
|---|---|
default | 单选框的描述文本,点击时会进行选中。无默认内容。 |
事件
| 名称 | 描述 |
|---|---|
change | 用户切换选中状态时触发,回调参数为 (checked: boolean)。checked 表示当前是否选中。 |
input |
选中状态变化后触发,回调参数为 |
此外,Radio 支持如下的原生事件:
auxclick、click、contextmenu、dblclick、mousedown、mouseenter、mouseleave、mousemove、mouseover、mouseout、mouseup、select、wheel、keydown、keypress、keyup、focus、blur、focusin、focusout。
回调参数均为相应的原生事件对象。