Skip to content

Switch

概要

スイッチ コンポーネント。制御モード(checked)と非制御モード(defaultChecked)の両方をサポート。

デモ

基本的な使い方

tsx
<Switch.Root
  checked={isOn}
  onCheckedChange={({ checked }) => isOn = checked}
>
  <Switch.Control>
    <Switch.Thumb />
  </Switch.Control>
  <Switch.Label>Wi-Fi</Switch.Label>
</Switch.Root>

コンポーネント構成

パーツ説明
Switch.Rootルートコンポーネント。状態管理とスタイルを提供
Switch.Controlトラック(レール)部分
Switch.Thumbつまみ
Switch.ThumbIndicatorつまみ内に表示するアイコン等
Switch.Labelラベル
Switch.Indicatorチェック状態を示すインジケーター
Switch.HiddenInputフォーム送信用の隠し input

Props

Switch.Root

Propデフォルト説明
checkedbooleanチェック状態(制御モード)
defaultCheckedbooleanfalse初期チェック状態(非制御モード)
onCheckedChange(details: { checked: boolean }) => void状態変更コールバック
disabledbooleanfalse無効化
readOnlybooleanfalse読み取り専用
invalidbooleanfalseバリデーションエラー状態
size"xs" | "sm" | "md" | "lg""md"サイズ
variant"solid" | "raised""solid"外観バリアント
colorPalettestringカスタムカラー(CSS カラー値)
namestringフォーム送信用の名前
valuestring"on"フォーム送信用の値

Switch.Indicator

Prop説明
fallbackm.Children未チェック時に表示する内容

カスタムカラー

tsx
<Switch.Root defaultChecked={true} colorPalette="#10b981">
  <Switch.Control>
    <Switch.Thumb />
  </Switch.Control>
</Switch.Root>

Mithril UI Kit Documentation