Skip to content
On this page

Radio 单选框

在一组备选项中进行单选

基础用法

单选框不应该有太多的可选项, 如果你有很多的可选项你应该使用选择框而不是单选框。

要使用 Radio 组件,只需要设置v-model绑定变量, 选中意味着变量的值为相应 Radio value 属性的值, value 可以是 String、Number 或 Boolean。

<>
<template>
    <kl-radio-group v-model="value">
        <kl-radio label="HuTao" value="胡桃"></kl-radio>
        <kl-radio label="YeLan" value="夜兰"></kl-radio>
        <kl-radio label="QiQi" value="七七"></kl-radio>
    </kl-radio-group>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
</script>

Radio 单独使用

Radio 也可以单独使用,需要为所有 radio 绑定同一个数据。

<>
<template>
    <kl-radio label="HuTao" value="胡桃" v-model="value"></kl-radio>
    <kl-radio label="YeLan" value="夜兰" v-model="value"></kl-radio>
    <kl-radio label="QiQi" value="七七" v-model="value"></kl-radio>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
</script>

禁用状态

disabled 属性可以用来控制单选框的禁用状态。

你只需要为 radio-group 设置 disabled 属性就能控制所有 option 禁用状态。

<>
<template>
    <kl-radio-group v-model="value" disabled>
        <kl-radio label="HuTao" value="胡桃"></kl-radio>
        <kl-radio label="YeLan" value="夜兰"></kl-radio>
        <kl-radio label="QiQi" value="七七"></kl-radio>
    </kl-radio-group>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
</script>

禁用选项

为 radio 设置 disabled 属性就能禁用选项。

<>
<template>
    <kl-radio-group v-model="value">
        <kl-radio label="HuTao" value="胡桃" disabled></kl-radio>
        <kl-radio label="YeLan" value="夜兰"></kl-radio>
        <kl-radio label="QiQi" value="七七"></kl-radio>
    </kl-radio-group>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
</script>

带有边框

设置 border 属性为 true 可以渲染为带有边框的单选框。

<>
<template>
    <kl-radio-group v-model="value" border>
        <kl-radio label="HuTao" value="胡桃" disabled></kl-radio>
        <kl-radio label="YeLan" value="夜兰"></kl-radio>
        <kl-radio label="QiQi" value="七七"></kl-radio>
    </kl-radio-group>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
</script>

图标

可以在插槽内传入图标

<>
<template>
    <kl-radio-group v-model="value">
        <kl-radio value="Basketball"><KlSportBasketball /></kl-radio>
        <kl-radio value="Football"><KlSportFootball /></kl-radio>
        <kl-radio value="Tennis"><KlSportTennis /></kl-radio>
    </kl-radio-group>
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
</script>

API

Radio 属性

属性名说明类型默认值
v-model绑定值boolean
value选项的值string / number / boolean / object
label选项的标签,若不设置则默认与 value 相同string/number
disabled是否禁用该选项booleanfalse
border是否显示边框booleanfalse

Radio 插槽

插槽名说明
default默认插槽

RadioGroup 属性

属性名说明类型默认值
v-model绑定值boolean
disabled是否禁用所有选项booleanfalse
border是否显示所有选项边框booleanfalse

RadioGroup 事件

事件名说明回调参数
change仅当 modelValue 改变时触发val

Released under the MIT License.