RangeSlider範圍滑桿
範圍滑桿元件用來讓使用者在一系列值中選擇一個範圍。
使用方法
按需引入元件:
import 'mdui/components/range-slider.js';
按需引入元件的 TypeScript 型別:
import type { RangeSlider } from 'mdui/components/range-slider.js';
使用範例:
<mdui-range-slider></mdui-range-slider>停用狀態
加上 disabled 屬性可以停用範圍滑桿。
範圍
使用 min 和 max 屬性設定範圍滑桿的最小值和最大值。
步進間隔
使用 step 屬性設定範圍滑桿的步進間隔。
刻度標記
加上 tickmarks 屬性可以在範圍滑桿上加入刻度標記。
隱藏文字提示
加上 nolabel 屬性可以隱藏範圍滑桿上的文字提示。
修改文字提示
你可以透過 labelFormatter JavaScript 屬性,修改文字提示的顯示格式。該屬性值是一個函式,函式參數為目前範圍滑桿的值,回傳值為你期望顯示的文字。
API
屬性
| HTML 屬性 | JavaScript 屬性 | Reflect | 型別 | 預設值 |
|---|---|---|---|---|
defaultValue | number[] | [] | ||
預設值。在重設表單時,將重設為該預設值。此屬性只能透過 JavaScript 屬性設定 | ||||
value | number[] | - | ||
滑桿的值,為陣列格式,將與表單資料一起送出。 NOTE:該屬性無法透過 HTML 屬性設定初始值,如果要修改該值,只能透過修改 JavaScript 屬性值來實作。 | ||||
autofocus | autofocus | boolean | false | |
是否在頁面載入完成後自動取得焦點 | ||||
tabindex | tabIndex | number | - | |
元素在使用 Tab 鍵切換焦點時的順序 | ||||
min | min | number | 0 | |
滑桿的最小值,預設為 | ||||
max | max | number | 100 | |
滑桿的最大值,預設為 | ||||
step | step | number | 1 | |
步進間隔,預設為 | ||||
tickmarks | tickmarks | boolean | false | |
是否新增刻度標記 | ||||
nolabel | nolabel | boolean | false | |
是否隱藏文字提示 | ||||
disabled | disabled | boolean | false | |
是否被停用 | ||||
form | form | string | - | |
關聯的 若未指定此屬性,則該元素必須是 | ||||
name | name | string | '' | |
滑桿的名稱,該名稱將與表單資料一起送出 | ||||
validity | ValidityState | - | ||
表單驗證狀態物件,具體參見 | ||||
validationMessage | string | - | ||
如果表單驗證未通過,此屬性將包含提示資訊。如果驗證通過,此屬性將為空字串 | ||||
labelFormatter | (value: number) => string | - | ||
用來自訂標籤顯示格式的函式。函式參數為滑桿目前值,回傳值為要顯示的文字。 | ||||
方法
| 名稱 | 參數 | 回傳值 |
|---|---|---|
click | void | |
模擬滑鼠點擊元素 | ||
focus |
| void |
將焦點設定到目前元素。 可以傳入一個物件作為引數,該物件的屬性包括:
| ||
blur | void | |
移除目前元素的焦點 | ||
checkValidity | boolean | |
檢查表單欄位是否通過驗證。如果未通過,回傳 | ||
reportValidity | boolean | |
檢查表單欄位是否通過驗證。如果未通過,回傳 如果驗證未通過,還會在元件上顯示驗證失敗的提示。 | ||
setCustomValidity |
| void |
設定自訂的錯誤提示文字。只要這個文字不為空,就表示欄位未通過驗證 | ||
CSS Parts
| 名稱 |
|---|
track-inactive |
未啟用狀態的軌道 |
track-active |
已啟用狀態的軌道 |
handle |
操作桿 |
label |
提示文字 |
tickmark |
刻度標記 |