Switch 开关切换
开关组件用于切换单个选项的开启或关闭状态。
使用方法
按需导入组件:
import 'mdui/components/switch.js';
按需导入组件的 TypeScript 类型:
import type { Switch } from 'mdui/components/switch.js';
使用示例:
<mdui-switch></mdui-switch>
禁用状态
通过添加 disabled
属性,可以禁用开关组件。
图标
可以通过 unchecked-icon
属性来设置未选中状态的 Material Icons 图标,通过 checked-icon
属性来设置选中状态的 Material Icons 图标。也可以通过 unchecked-icon
和 checked-icon
slot 来自定义未选中和选中状态的图标元素。
API
属性
HTML 属性 | JavaScript 属性 | Reflect | 类型 | 默认值 |
---|---|---|---|---|
disabled | disabled | boolean | false | |
是否为禁用状态 | ||||
checked | checked | boolean | false | |
是否为选中状态 | ||||
defaultChecked | boolean | false | ||
默认选中状态。在重置表单时,将重置为此状态。此属性只能通过 JavaScript 属性设置 | ||||
unchecked-icon | uncheckedIcon | string | - | |
未选中状态的 Material Icons 图标名。也可以通过 | ||||
checked-icon | checkedIcon | string | - | |
选中状态的 Material Icons 图标名。也可以通过 默认为 | ||||
required | required | boolean | false | |
提交表单时,是否必须选中此开关 | ||||
form | form | string | - | |
关联的 如果未指定此属性,则该元素必须是 | ||||
name | name | string | '' | |
开关的名称,将与表单数据一起提交 | ||||
value | value | string | 'on' | |
开关的值,将于表单数据一起提交 | ||||
validity | ValidityState | - | ||
表单验证状态对象,具体参见 | ||||
validationMessage | string | - | ||
如果表单验证未通过,此属性将包含提示信息。如果验证通过,此属性将为空字符串 | ||||
autofocus | autofocus | boolean | false | |
是否在页面加载完成后自动获取焦点 | ||||
tabindex | tabIndex | number | - | |
元素在使用 Tab 键切换焦点时的顺序 |
方法
名称 | 参数 | 返回值 |
---|---|---|
checkValidity | boolean | |
检查表单字段是否通过验证。如果未通过,返回 | ||
reportValidity | boolean | |
检查表单字段是否通过验证。如果未通过,返回 如果验证未通过,还会在组件上显示验证失败的提示。 | ||
setCustomValidity |
| void |
设置自定义的错误提示文本。只要这个文本不为空,就表示字段未通过验证 | ||
click | void | |
模拟鼠标点击元素 | ||
focus |
| void |
将焦点设置到当前元素。 可以传入一个对象作为参数,该对象的属性包括:
| ||
blur | void | |
移除当前元素的焦点 |
Slots
名称 |
---|
unchecked-icon |
未选中状态的元素 |
checked-icon |
选中状态的元素 |
CSS Parts
名称 |
---|
track |
轨道 |
thumb |
图标容器 |
unchecked-icon |
未选中状态的图标 |
checked-icon |
选中状态的图标 |
CSS 自定义属性
名称 |
---|
--shape-corner |
组件轨道的圆角大小。可以指定一个具体的像素值;但更推荐引用设计令牌 |
--shape-corner-thumb |
组件图标容器的圆角大小。可以指定一个具体的像素值;但更推荐引用设计令牌 |