Skip to content

单选框 Radio

这个组件叫做单选框......

基础使用

单选框 Radio 有两种样式变体,普通模式('normal',默认)和经典模式(retro)。经典模式的样式为致敬早期的游戏 UI 而设置。

单选框 Radio,传入 modelValue 进入受控模式。不传或者为 undefined 则为非受控模式,此时可以传入 defaultValue 属性作为默认值。

隐藏源代码

禁用、只读状态

单选框 Radio,readonly 设置只读,disabled 设置禁用。此时内部 <input> 都会被设置 disabled,它们之间几乎只有样式不一样。

隐藏源代码

单选组

可以通过组合 RadioGroup 和 Radio 来形成一个单选组。

RadioGroup 的值为选中的 Radio 单选框组件的 value

类似地,RadioGroup 传入 modelValue 进入受控模式。不传或者为 undefined 则为非受控模式,此时可以传入 defaultValue 属性作为默认值。

Retro Style

Readonly

Disabled

隐藏源代码

垂直排列

RadioGroup 的 direction 属性用于设置子单选框的排列方向。



隐藏源代码

单选框尺寸

Radio 和 RadioGroup 的 size 属性都可以用于设置单选框的尺寸。

Single Radio

Group

隐藏源代码

选项属性

RadioGroup 的 options 属性用于直接传入选项,可以用于简单单选组的快速创建。

隐藏源代码

API

RadioProps

属性类型可选默认值描述版本
modelValueboolean | null单选框组件 Radio 的值(受控模式)。0.0.3
defaultValueboolean | null单选框组件 Radio 的默认值(非受控模式)。0.0.3
variant'normal' | 'retro''normal'单选框的样式变体。0.0.3
disabledbooleanfalse禁用状态。0.0.3
readonlybooleanfalse只读状态。0.0.3
labelstring单选框的文本。0.0.3
valueany单选框的原生 value 属性。0.0.3
size'medium' | 'large' | 'small''medium'单选框的大小。0.0.3
pollSizeChangebooleanfalse开启轮询组件尺寸变化,可能会影响性能。0.1.0

RadioEvents

事件参数描述版本
update:modelValuevalue: boolean更新 modelValue 的回调。0.0.3
inputvalue: boolean, event: InputEvent选中单选框的回调。0.0.3
changevalue: boolean, event: Event单选框选中状态改变的回调。0.0.3
focusevent: FocusEvent单选框聚焦的回调。0.0.3
blurevent: FocusEvent单选框失去焦点的回调。0.0.3

RadioGroupProps

属性类型可选默认值描述版本
modelValueany单选组组件 RadioGroup 的值(受控模式)。0.0.3
defaultValueany单选组组件 RadioGroup 的默认值(非受控模式)。0.0.3
variant'normal' | 'retro'后代的单选框组件的样式变体,如果设置,优先于后代的单选框组件自身的 variant0.0.3
disabledbooleanfalse禁用状态。0.0.3
readonlybooleanfalse只读状态。0.0.3
direction'horizontal' | 'vertical''horizontal'单选框子组件排列方向。0.0.3
options(RadioGroupOption | string)[]单选组选项。0.0.3
size'medium' | 'large' | 'small'后代的单选框组件的尺寸大小,如果设置,优先于后代的单选框组件自身的 size0.0.3
pollSizeChangebooleanfalse开启轮询组件尺寸变化,会影响 Radio 子组件的同名属性。0.1.0

RadioGroupSlots

插槽参数描述版本
default单选框子组件。0.0.3

RadioGroupEvents

事件参数描述版本
update:modelValuevalue: any更新 modelValue 的回调。0.0.3
changevalue: any单选组选中内容改变的回调。0.0.3

Option

ts
export interface Option<T = any> {
	value: T
	label: string
}

RadioGroupOption

ts
export interface RadioGroupOption<T = any> extends Option<T> {
	disabled?: boolean
	key?: string | number | symbol
}