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
。
回调参数均为相应的原生事件对象。