MDUI文档English简体中文亮色模式暗色模式跟随系统
预设颜色
自选颜色
从壁纸提取颜色
请选择一张壁纸
开发指南
样式
与框架集成
组件
Button 按钮ButtonIcon 图标按钮Fab 浮动操作按钮SegmentedButton 分段按钮Chip 纸片Card 卡片Checkbox 复选框Radio 单选框Switch 开关切换Slider 滑块RangeSlider 范围滑块List 列表Collapse 折叠面板Tabs 选项卡Dropdown 下拉组件Menu 菜单Select 选择框TextField 文本框LinearProgress 线性进度指示器CircularProgress 圆形进度指示器Dialog 对话框Divider 分割线Avatar 头像Badge 徽标Icon 图标Tooltip 工具提示Snackbar 消息条NavigationBar 底部导航栏NavigationDrawer 侧边抽屉栏NavigationRail 侧边导航栏BottomAppBar 底部应用栏TopAppBar 顶部应用栏Layout 布局
工具函数
独立包

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

组件图标容器的圆角大小。可以指定一个具体的像素值;但更推荐引用设计令牌

本页目录