Switch 开关
表示两种相互对立的状态间的切换。
基础用法
绑定 v-model 到一个 Boolean 类型的变量。 CSS 变量 --el-switch-on-color 和 --el-switch-off-color 决定了两种状态下的背景颜色。
尺寸
文字描述
可以使用 active-text 属性与 inactive-text 属性来设置开关的文字描述。 使用 inline-prompt 属性来控制文字是否显示在圆点内部。
可以使用 active-text 属性与 inactive-text 属性来设置开关的文字描述。
自定义图标
提示
使用 active-icon 和 inactive-icon 属性来添加图标。 你可以传递组件名称的字符串(需提前注册)或者组件本身(SVG Vue 组件)。 Element Plus 提供了一套图标,你可以在 icon 页面找到。
你可以使用 active-icon 和 inactive-icon 属性来显示图标。 使用 inline-prompt 属性来控制图标是否显示在圆点内部。
扩展的类型
你可以设置 active-value 和 inactive-value 属性。 它们都接受 Boolean、String 或 Number 类型的值。
禁用状态
设置 disabled 属性,接受一个 Boolean,设置 true 即可禁用。
加载状态
设置 loading 属性为 true 表示开关处于加载状态。
阻止切换
设置 before-change 属性,若返回 false 或者返回 Promise 且被 reject,则停止切换。
自定义动作图标 2.3.9
你可以通过 active-action-icon 和 inactive-action-icon 属性来显示图标。
自定义动作插槽 2.4.4
你可以使用 active-action 和 inactive-action 插槽来自定义动作内容。
API
属性
| 名称 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 绑定值,应等于 active-value 或 inactive-value,默认类型为 boolean | boolean / string / number | false |
| disabled | 是否禁用 | boolean | false |
| 加载中 | 是否处于加载状态 | boolean | false |
| size | 开关的大小 | 枚举 | '' |
| width | 开关的宽度 | number / string | '' |
| inline-prompt | 图标或文字是否显示在点内,文字只渲染第一个字符 | boolean | false |
| active-icon | 在 on 状态下显示的图标组件,会覆盖 active-text | string / Component | — |
| inactive-icon | 在 off 状态下显示的图标组件,会覆盖 inactive-text | string / Component | — |
| active-action-icon 2.3.9 | 在 on 状态下动作中显示的图标组件 | string / Component | — |
| inactive-action-icon 2.3.9 | 在 off 状态下动作中显示的图标组件 | string / Component | — |
| active-text | 在 on 状态下显示的文字 | string | '' |
| inactive-text | 在 off 状态下显示的文字 | string | '' |
| active-value | 在 on 状态下的开关值 | boolean / string / number | true |
| inactive-value | 在 off 状态下的开关值 | boolean / string / number | false |
| 名称 | 开关的 input name | string | '' |
| validate-event | 是否触发表单验证 | boolean | true |
| before-change | 开关状态改变前的钩子。 如果返回 false 或者返回 Promise 且被 reject,则停止切换 | Function | — |
| id | input 的 id | string | — |
| tabindex | 输入框的 tabindex | string / number | — |
| aria-label a11y 2.7.2 | 与原生输入框的 `aria-label` 相同 | string | — |
| active-color 已弃用 | 在 on 状态下的背景颜色(请改用 CSS 变量 --el-switch-on-color) | string | '' |
| inactive-color 已弃用 | 在 off 状态下的背景颜色(请改用 CSS 变量 --el-switch-off-color) | string | '' |
| border-color 已弃用 | 开关的边框颜色(请改用 CSS 变量 --el-switch-border-color) | string | '' |
| label a11y 已废弃 | 与原生输入框的 `aria-label` 相同 | string | — |
事件
| 名称 | 描述 | 类型 |
|---|---|---|
| change | 当绑定值改变时触发 | Function |
Switch 插槽
| 名称 | 描述 |
|---|---|
| active-action 2.4.4 | 自定义开启状态的动作 |
| inactive-action 2.4.4 | 自定义关闭状态的动作 |
| active 2.13.0 | 自定义开启状态的内容 |
| inactive 2.13.0 | 自定义关闭状态的内容 |
暴露
| 方法 | 描述 | 类型 |
|---|---|---|
| focus | 手动聚焦开关组件 | Function |