Switch 开关

基础开关

使用场景:不需要通过文案强调开关状态时,可用基础开关

在 Stackblitz 中打开

带描述开关

使用场景:需要通过描述解释、提示结果时,可用带描述开关

在 Stackblitz 中打开

组件状态

在 Stackblitz 中打开

开关尺寸

在 Stackblitz 中打开

Switch Props

名称类型默认值描述必传
customValueArray-用于自定义开关的值,[打开时的值,关闭时的值]。默认为 [true, false]。示例:[1, 0]、['open', 'close']。TS 类型:Array<SwitchValue>N
disabledBooleanundefined是否禁用组件。优先级:Switch.disabled > Form.disabledN
iconArray[]开关的图标;[打开时的图标,关闭时的图标]。TS 类型:TNode[]通用类型定义N
labelArray / Slot / Function[]开关内容,[开启时内容,关闭时内容]。示例:['开', '关'] 或 (value) => value ? '开' : '关'。TS 类型:Array<string \| TNode> \| TNode<{ value: SwitchValue }>通用类型定义N
loadingBooleanfalse是否处于加载中状态N
sizeStringmedium开关尺寸。可选项:small/medium/largeN
valueString / Number / Boolean-开关值。支持语法糖 v-modelv-model:value。TS 类型:T type SwitchValue = string \| number \| boolean详细类型定义N
defaultValueString / Number / Boolean-开关值。非受控属性。TS 类型:T type SwitchValue = string \| number \| boolean详细类型定义N
onChangeFunctionTS 类型:(value: T, context: { e: MouseEvent }) => void
数据发生变化时触发
N

Switch Events

名称参数描述
change(value: T, context: { e: MouseEvent })数据发生变化时触发

CSS Variables

组件提供了下列 CSS 变量,可用于自定义样式。

名称默认值描述
--td-switch-checked-color@brand-color-
--td-switch-checked-disabled-color@brand-color-disabled-
--td-switch-dot-border-color@bg-color-secondarycontainer-
--td-switch-dot-horizontal-margin3px-
--td-switch-dot-large-size26px-
--td-switch-dot-plain-horizontal-margin5px-
--td-switch-dot-plain-large-size22px-
--td-switch-dot-plain-size18px-
--td-switch-dot-plain-small-size14px-
--td-switch-dot-shadow@shadow-1-
--td-switch-dot-size22px-
--td-switch-dot-small-size18px-
--td-switch-height28px-
--td-switch-icon-large-size24px-
--td-switch-icon-size20px-
--td-switch-icon-small-size16px-
--td-switch-label-checked-color@switch-checked-color-
--td-switch-label-color@font-gray-4-
--td-switch-large-height32px-
--td-switch-large-radiuscalc(@switch-large-height / 2)-
--td-switch-large-width52px-
--td-switch-radiuscalc(@switch-height / 2)-
--td-switch-small-height24px-
--td-switch-small-radiuscalc(@switch-small-height / 2)-
--td-switch-small-width39px-
--td-switch-unchecked-color@font-gray-4-
--td-switch-unchecked-disabled-color@bg-color-component-disabled-
--td-switch-width45px-
--td-switch-label-font-size12px-
--td-switch-label-font-size14px-
--td-switch-label-font-size16px-

何时使用

当需要切换某个功能的开启、关闭时使用。

推荐/慎用示例

开关状态的颜色使用建议符合颜色语义,尽量避免让开启、关闭状态的颜色产生混淆。

若需结合文本描述开关状态,建议文案和开关状态保持一致,确保表意清晰。