ButtonIcon圖示按鈕
圖示按鈕主要用來執行次要操作。
使用方法
按需引入元件:
import 'mdui/components/button-icon.js';
按需引入元件的 TypeScript 型別:
import type { ButtonIcon } from 'mdui/components/button-icon.js';
使用範例:
<mdui-button-icon icon="search"></mdui-button-icon>形狀
使用 variant 屬性設定圖示按鈕的形狀。
可選取
加上 selectable 屬性即可讓圖示按鈕變成可選取狀態。
使用 selected-icon 屬性指定選取狀態的 Material Icons 圖示名稱。也可以透過 selected-icon slot 指定選取狀態的圖示元素。
圖示按鈕被選取後,selected 屬性會變為 true。你也可以透過加上 selected 屬性,使圖示按鈕預設處於選取狀態。
連結
加上 href 屬性即可將圖示按鈕轉為連結,並可使用以下連結相關的屬性:download、target、rel。
禁用及載入中狀態
加上 disabled 屬性即可停用圖示按鈕;加上 loading 屬性即可為圖示按鈕加入載入中狀態。
API
屬性
| HTML 屬性 | JavaScript 屬性 | Reflect | 型別 | 預設值 |
|---|---|---|---|---|
variant | variant | 'standard' | 'filled' | 'tonal' | 'outlined' | 'standard' | |
圖示按鈕的形狀。可選值包括:
| ||||
icon | icon | string | - | |
Material Icons 圖示名。也可以透過 default slot 設定 | ||||
selected-icon | selectedIcon | string | - | |
選取狀態的 Material Icons 圖示名。也可以透過 | ||||
selectable | selectable | boolean | false | |
是否可選取 | ||||
selected | selected | boolean | false | |
是否已被選取 | ||||
href | href | string | - | |
連結的目標網址。 若設定此屬性,元件內部會渲染為 | ||||
download | download | string | - | |
下載目標。 Note:僅在設定了 | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
連結的開啟方式。可選值包括:
Note:僅在設定了 | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
目前文件與被連結文件之間的關係。可選值包括:
Note:僅在指定了 | ||||
autofocus | autofocus | boolean | false | |
是否在頁面載入完成後自動取得焦點 | ||||
tabindex | tabIndex | number | - | |
元素在使用 Tab 鍵切換焦點時的順序 | ||||
disabled | disabled | boolean | false | |
是否停用 | ||||
loading | loading | boolean | false | |
是否處於載入中狀態 | ||||
name | name | string | '' | |
按鈕名稱,會與表單資料一起送出。 Note:僅在未設定 | ||||
value | value | string | '' | |
按鈕初始值,會與表單資料一起送出。 Note:僅在未設定 | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
按鈕的類型。預設類型為
Note:僅在未指定 | ||||
form | form | string | - | |
關聯的 若未指定此屬性,則該元素必須是 Note:僅在未指定 | ||||
formaction | formAction | string | - | |
指定送出表單的 URL。 若指定了此屬性,將覆蓋 Note:僅在未指定 | ||||
formenctype | formEnctype | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | - | |
指定送出表單到伺服器的內容類型。可選值包括:
若指定了此屬性,將覆蓋 Note:僅在未指定 | ||||
formmethod | formMethod | 'post' | 'get' | - | |
指定送出表單時使用的 HTTP 方法。可選值包括:
若設定了此屬性,將覆蓋 Note:僅在未設定 | ||||
formnovalidate | formNoValidate | boolean | false | |
若設定了此屬性,表單送出時將不執行表單驗證。 若設定了此屬性,將覆蓋 Note:僅在未設定 | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
送出表單後接收到的回應應顯示在何處。可選值包括:
若設定了此屬性,將覆蓋 Note:僅在未設定 | ||||
validity | ValidityState | - | ||
表單驗證狀態物件,具體參見 | ||||
validationMessage | string | - | ||
如果表單驗證未通過,此屬性將包含提示資訊。如果驗證通過,此屬性將為空字串 | ||||
方法
| 名稱 | 參數 | 回傳值 |
|---|---|---|
click | void | |
模擬滑鼠點擊元素 | ||
focus |
| void |
將焦點設定到目前元素。 可以傳入一個物件作為引數,該物件的屬性包括:
| ||
blur | void | |
移除目前元素的焦點 | ||
checkValidity | boolean | |
檢查表單欄位是否通過驗證。如果未通過,回傳 | ||
reportValidity | boolean | |
檢查表單欄位是否通過驗證。如果未通過,回傳 如果驗證未通過,還會在元件上顯示驗證失敗的提示。 | ||
setCustomValidity |
| void |
設定自訂的錯誤提示文字。只要這個文字不為空,就表示欄位未通過驗證 | ||
Slots
| 名稱 |
|---|
| 預設 |
圖示元件 |
selected-icon |
選取狀態顯示的圖示元素 |
CSS Parts
| 名稱 |
|---|
button |
內部的 |
icon |
未選取狀態的圖示 |
selected-icon |
選取狀態的圖示 |
loading |
載入中狀態的 |
CSS 自訂屬性
| 名稱 |
|---|
--shape-corner |
元件的圓角大小。可以指定一個具體的像素值;但更推薦引用設計令牌 |