Skip to content

Switch 开关

允许用户在选中和未选中之间切换的控件。

基础用法

Example

禁用状态

设置 disabled 属性以禁用开关。

Example

加载状态

设置 loading 属性以显示加载状态。加载时开关处于禁用状态。

Example

带标签

使用 BrLabel 将标签与开关关联。

Example

尺寸

使用 size 属性来控制开关的大小。

xs
sm
md (default)
lg
xl
2xl
Example

自定义滑块内容

你可以使用 thumb 插槽自定义滑块内的内容,例如添加图标或文本。

Example

主题定制

全局定制 (BrConfigProvider)

你可以通过 BrConfigProvidertheme 属性覆盖默认 CSS 变量。

ConfigProvider Theme

Emerald Primary

Tailwind Class Override

Blue Override
Example

局部定制 (TailwindCSS)

你可以直接使用 TailwindCSS 工具类覆盖样式。

vue
<template>
  <BrSwitch class="data-[state=checked]:bg-indigo-500" />
</template>

API

Props

属性名类型默认值说明
modelValuebooleanfalse开关的选中状态
defaultCheckedbooleanfalse使用非受控模式时的默认选中状态
disabledbooleanfalse是否禁用开关
loadingbooleanfalse是否显示加载状态
size'sm' | 'md' | 'lg''md'开关的尺寸
namestring-开关的名称
idstring-开关的 id
requiredbooleanfalse是否必填
valuestring'on'开关的值
checkedTextstring-选中时显示的文本
uncheckedTextstring-未选中时显示的文本
errorbooleanfalse是否有验证错误

Emits

事件名说明参数
update:modelValue当选中状态改变时触发(value: boolean)
update:checked当选中状态改变时触发 (Radix 兼容)(value: boolean)

Slots

插槽名说明
thumb自定义滑块内容