跳到主要内容

Switch 开关

在两个互斥状态间切换,渲染 role="switch" 自定义控件。

基础用法​

受控开关
关

当前状态:关

import { useState } from 'react'
import { LhSwitch } from '@lh-ui/react'

export default function Demo() {
const [active, setActive] = useState(false)

return (
<>
<LhSwitch checked={active} onChange={(val) => setActive(val)} />
<LhSwitch
checked={active}
activeText="开"
inactiveText="关"
onChange={(val) => setActive(val)}
/>
<LhSwitch disabled />
<LhSwitch loading />
</>
)
}

Switch Props​

属性说明类型可选值默认值
checked受控开关状态boolean——
defaultChecked非受控默认状态boolean—false
disabled禁用boolean—false
loading加载中boolean—false
activeText打开时的文字string—语言包 switch.on
inactiveText关闭时的文字string—语言包 switch.off
size尺寸'large' | 'middle' | 'small'—跟随 ConfigProvider
themeVars组件级主题变量Record<string, string>——
sx快速布局属性SxProps——

Switch 事件​

事件说明回调签名Vue 对照
onChange状态变化(双参数)(checked: boolean, event: MouseEvent | KeyboardEvent) => void@change
键盘交互

开关响应 Enter / Space 切换,与原生 checkbox 行为一致;aria-checked 同步当前状态。

样式​

import '@lh-ui/react/style/switch'