Switch 開關
開關用來在設定列切換布林值。尺寸列舉與 Button、Input 相同(sm / md / lg),軌道高度低於欄位高度。
示範
基礎
綁定
checked,並以 e.detail.checked 監聽 change。沒有可見標籤時,請用 aria-label 提供可存取名稱。 通知
尺寸
尺寸列舉與 Button、Input 一致:
sm、md、lg。軌道仍小於 28 / 34 / 40 的欄位高度。 停用
disabled 會阻擋切換。關閉時維持較淡;開啟時軌道仍可清楚辨認。 附標籤
預設插槽文字會作為可見標籤與可存取名稱。使用
:round="false" 可改為方角軌道(預設為膠囊形)。 互動場
自由組合屬性並即時預覽。
API
Switch Props
| Prop | 型別 | 預設值 |
|---|---|---|
checked | boolean | false |
size | 'sm' | 'md' | 'lg' | 'md' |
disabled | boolean | false |
round | boolean | true |
round 預設為膠囊形。原始 HTML 的布林屬性無法表達 false;請使用屬性綁定或 Vue 的 :round="false"。
Switch Slots
| 名稱 | 說明 |
|---|---|
| default | 可選的可見標籤(同時作為可存取名稱) |
Switch Events
| 名稱 | 說明 |
|---|---|
change | 使用者切換開關;bubbles;composed: true;detail: { checked: boolean } |
不使用原生 checkbox 的 input / change。Vue / Alpine 請只綁定此 CustomEvent。
CSS Parts
| Part | 說明 |
|---|---|
track | role="switch" 控制項 |
thumb | 軌道內的圓鈕 |
label | 預設插槽容器 |
無障礙
- 內部控制項:
role="switch",aria-checked反映checked。 - 空白鍵與 Enter 可切換。
- 請以預設插槽或
aria-label提供可存取名稱。 disabled時不可切換。