Switch 开关
表示两种相互对立的状态间的切换,多用于触发「开/关」。
基本用法
绑定 v-model
到一个 Boolean
类型的变量。 可以使用 --fz-switch-on-color
属性与 --fz-switch-off-color
属性来设置开关的背景色。
尺寸
通过设置 size
来设置大小。
文字描述
使用 active-text
属性与 inactive-text
属性来设置开关的文字描述。 使用 inline-prompt
属性来控制文本是否显示在点内。
使用 active-text
属性与 inactive-text
属性来设置开关的文字描述。
显示自定义图标
TIP
使用 inactive-icon
和 active-icon
属性来添加图标。 您可以传递组件名称的字符串(提前注册)或组件本身是一个 SVG Vue 组件。 FzDesign 提供了一组图标,您可以在 FzDesignIcon 查看。
使用 inactive-icon
和 active-icon
属性来添加图标。 使用 inline-prompt
属性来控制图标显示在点内。
扩展的 value 类型
你可以设置 active-value
和 inactive-value
属性, 它们接受 Boolean
、String
或 Number
类型的值。
禁用状态
设置 disabled
属性,接受一个 Boolean
,设置 true
即可禁用。
加载状态
设置 loading
属性,接受一个 Boolean
,设置 true
即加载中状态。
阻止切换
设置 beforeChange
属性,若返回 false
或者返回 Promise
且被 reject
,则停止切换。
自定义动作图标
使用 inactive-action-icon
和 active-action-icon
属性来添加图标。
API
Attributes
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
model-value | 绑定值 | boolean | string | number | false |
size | 尺寸 | SwitchSize | - |
width | 宽度 | string | number | '' |
disabled | 是否禁用 | boolean | false |
loading | 是否加载态 | boolean | false |
inline-prompt | 无论图标或文本是否显示在点内,只会呈现文本的第一个字符 | boolean | false |
inactive-action-icon | 关闭时 Icon | IconSlotType | - |
active-action-icon | 开启时 Icon | IconSlotType | - |
active-icon | 开启时展示 Icon,会覆盖active-text | IconSlotType | - |
inactive-icon | 关闭时展示 Icon,会覆盖inactive-text | IconSlotType | - |
active-text | 开启时,展示文本 | string | '' |
inactive-text | 关闭时,展示文本 | string | '' |
active-value | 开启时的值 | boolean | string | number | '' |
inactive-value | 关闭时的值 | boolean | string | number | '' |
name | 原生 input 的 name | string | '' |
validate-event | 是否触发 form 的校验事件 | boolean | true |
before-change | switch 状态改变前的钩子, 返回 false 或者返回 Promise 且被 reject 则停止切换 | () => Promise<boolean> | boolean | - |
Events
事件名称 | 说明 | 类型 |
---|---|---|
input | 输入时 | (val: boolean | string | number) => void |
change | 改变时 | (val: boolean | string | number) => void |