Skip to content

Switch 开关 ​

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

基础用法 ​

网页近似预览,真机效果以 HarmonyOS 渲染为准。

尺寸与卡片 ​

由卡片式开关组成的设置列表。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

API ​

从组件库源码中的 @Param / @Event / @BuilderParam 声明自动提取。

SSwitch ​

shadcn-vue 的 Switch:h-[1.15rem] w-8 rounded-full border border-transparent shadow-xs,关闭时为 bg-input dark:bg-input/80,开启时为 bg-primary;size-4 的滑块通过 translate-x-[calc(100%-2px)] 滑动。

变体:sizing 取 sm | default | lg,description(标签下方的弱化文字),以及 card(标签与描述位于带边框、可按下的卡片中,开关位于右侧;开启时高亮)。

请通过 onCheckedChange / !! 响应变化(控件自身的点击会接管 SSwitch 上的 .onClick())。

属性类型默认值说明
checked!!boolean | undefinedundefined受控状态(配合 !! 使用)。留空则为非受控。
defaultCheckedbooleanfalse
disabledbooleanfalse
labelResourceStr | undefinedundefined显示在右侧的文字;同样可点击。
descriptionResourceStr | undefinedundefined标签下方弱化的辅助文字。
sizingChoiceSize
ChoiceSize = 'sm' | 'default' | 'lg'
'default'
cardbooleanfalse带边框的选择卡片:文字位于左侧,开关位于右侧。
tokensSwitchTokens{}实例级令牌覆盖(实例 → 主题 --switch-* → 配方),参见 {@link SwitchTokens}。
事件类型默认值说明
onCheckedChange(v: boolean) => void() => { }

MIT Licensed