Skip to content

Switch

Switch runtime: Root owns checked plus loading/disabled; Thumb only consumes context.

Runtime

State contracts come from @varo-ui/headless; rendered parts come from @varo-ui/h5/primitives or @varo-ui/weapp/primitives.

Demo

Package@varo-ui/headless

Installation

bash
pnpm add @varo-ui/headless @varo-ui/h5
# or
pnpm add @varo-ui/headless @varo-ui/weapp

Basic usage

Use the Demo panel above to switch H5 live preview and mini-program runtime contract/code.

Loading

Both loading and disabled close interaction; loading fits short async locks.

Parts

PartPurpose
SwitchRootState and toggle
SwitchThumbThumb part

Props

PropTypeDefaultDescription
checkedboolean | undefinedundefinedControlled checked state
defaultCheckedbooleanfalseUncontrolled initial state
disabledbooleanfalseDisabled
loadingbooleanfalseLoading; not toggleable
asstring'button'Root element tag

Events

EventPayloadDescription
update:checkedbooleanControlled sync
checkedChangebooleanState change

Accessibility

  • Root defaults to button semantics.
  • Loading/disabled states are not toggleable.

Platform notes

  • Both runtimes share checked/loading contracts.
  • Track visuals and motion belong to UI wrappers.