MDUI文件
複製 llms.txt 連結複製 llms-full.txt 連結以 Markdown 格式檢視此頁與 ChatGPT 討論此頁內容與 ChatGPT 討論專案完整文件
預設顏色
自選顏色
從桌布擷取顏色
請選擇一張桌布
開發指南
AI 輔助開發
樣式
與框架整合
元件
Avatar 頭像Badge 徽章BottomAppBar 底部應用程式列Button 按鈕ButtonIcon 圖示按鈕Card 卡片Checkbox 核取方塊Chip 標籤CircularProgress 環形進度條Collapse 收合區塊Dialog 對話框Divider 分隔線Dropdown 下拉元件Fab 浮動動作按鈕Icon 圖示Layout 版面配置LinearProgress 線性進度條List 清單Menu 選單NavigationBar 底部導覽列NavigationDrawer 導覽抽屜NavigationRail 側邊導覽列Radio 單選按鈕RangeSlider 範圍滑桿Select 選擇框SegmentedButton 分段按鈕Slider 滑桿Snackbar 消息條Switch 切換開關Tabs 分頁TextField 文字欄位Tooltip 工具提示TopAppBar 頂部應用程式列
函式
獨立程式庫

Switch切換開關

開關元件用來切換單一選項的開啟或關閉狀態,透過直覺的互動設計,讓使用者能輕鬆調整設定。

使用方法

按需引入元件:

import 'mdui/components/switch.js';

按需引入元件的 TypeScript 型別:

import type { Switch } from 'mdui/components/switch.js';

使用範例:

<mdui-switch></mdui-switch>

範例

選取狀態

當開關被選取時,checked 屬性的值為 true。你也可以透過加上 checked 屬性,使開關預設處於選取狀態。

停用狀態

透過加上 disabled 屬性,可以停用開關元件。

圖示

你可以透過 unchecked-icon 屬性來設定未選取狀態的 Material Icons 圖示,透過 checked-icon 屬性來設定選取狀態的 Material Icons 圖示。也可以透過 unchecked-iconchecked-icon slot 來自訂未選取和選取狀態的圖示元素。

API

屬性

HTML 屬性JavaScript 屬性Reflect型別預設值
disableddisabledbooleanfalse

是否為停用狀態

checkedcheckedbooleanfalse

是否為選取狀態

defaultCheckedbooleanfalse

預設選取狀態。在重設表單時,將重設為此狀態。此屬性只能透過 JavaScript 屬性設定

unchecked-iconuncheckedIconstring-

未選取狀態的 Material Icons 圖示名。也可以透過 slot="unchecked-icon" 設定

checked-iconcheckedIconstring-

選取狀態的 Material Icons 圖示名。也可以透過 slot="checked-icon" 設定

預設為 check 圖示,可傳入空字串移除預設圖示

requiredrequiredbooleanfalse

送出表單時,是否必須選取此開關

formformstring-

關聯的 <form> 元素。此屬性值應為同一頁面中的一個 <form> 元素的 id

若未指定此屬性,則該元素必須是 <form> 元素的子元素。透過此屬性,你可以將元素放置在頁面的任何位置,而不僅僅是 <form> 元素的子元素。

namenamestring''

開關的名稱,將與表單資料一起送出

valuevaluestring'on'

開關的值,將與表單資料一起送出

validityValidityState-

表單驗證狀態物件,具體參見 ValidityState

validationMessagestring-

如果表單驗證未通過,此屬性將包含提示資訊。如果驗證通過,此屬性將為空字串

autofocusautofocusbooleanfalse

是否在頁面載入完成後自動取得焦點

tabindextabIndexnumber-

元素在使用 Tab 鍵切換焦點時的順序

方法

名稱參數回傳值
checkValidity
boolean

檢查表單欄位是否通過驗證。如果未通過,回傳 false 並觸發 invalid 事件;如果通過,回傳 true

reportValidity
boolean

檢查表單欄位是否通過驗證。如果未通過,回傳 false 並觸發 invalid 事件;如果通過,回傳 true

如果驗證未通過,還會在元件上顯示驗證失敗的提示。

setCustomValidity
  • message: string
void

設定自訂的錯誤提示文字。只要這個文字不為空,就表示欄位未通過驗證

click
void

模擬滑鼠點擊元素

focus
  • options: FocusOptions (選配)
void

將焦點設定到目前元素。

可以傳入一個物件作為引數,該物件的屬性包括:

  • preventScroll:預設情況下,元素取得焦點後,頁面會捲動以將該元素捲動到檢視中。如果不希望頁面捲動,可以將此屬性設定為 true
blur
void

移除目前元素的焦點

事件

名稱
focus

取得焦點時觸發

blur

失去焦點時觸發

change

選取狀態變更時觸發

input

選取狀態變更時觸發

invalid

表單欄位驗證不通過時觸發

Slots

名稱
unchecked-icon

未選取狀態的元素

checked-icon

選取狀態的元素

CSS Parts

名稱
track

軌道

thumb

圖示容器

unchecked-icon

未選取狀態的圖示

checked-icon

選取狀態的圖示

CSS 自訂屬性

名稱
--shape-corner

元件軌道的圓角大小。可以指定一個具體的像素值;但更推薦引用設計令牌

--shape-corner-thumb

元件圖示容器的圓角大小。可以指定一個具體的像素值;但更推薦引用設計令牌

本頁目錄