Switch 开关
示例
尺寸
可供选用的 ui
属性值:xs
/ s
/ m
。
<template>
<article>
<section>
<veui-switch
v-model="disabled"
class="switch"
ui="xs"
>
Disabled
</veui-switch>
</section>
<section>
<veui-switch
v-model="on"
class="switch"
:disabled="disabled"
>
Medium size
</veui-switch>
<veui-switch
v-model="on"
class="switch"
:disabled="disabled"
ui="s"
>
Small size
</veui-switch>
<veui-switch
v-model="on"
class="switch"
:disabled="disabled"
ui="xs"
>
Extra small size
</veui-switch>
</section>
</article>
</template>
<script>
import { Switch } from 'veui'
export default {
components: {
'veui-switch': Switch
},
data () {
return {
on: false,
disabled: false
}
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 20px;
}
h4 {
margin-top: 0;
}
.switch {
margin-right: 30px;
}
</style>
值设定
可以通过设置 true-value
和 false-value
来修改打开、关闭状态下 v-model
的值。
Status: On
<template>
<article>
<veui-switch
v-model="status"
true-value="ON"
false-value="OFF"
>
Bluetooth
</veui-switch>
<p>Status: {{ statusMap[status] }}</p>
</article>
</template>
<script>
import { Switch } from 'veui'
const STATUS_MAP = {
ON: 'On',
OFF: 'Off'
}
export default {
components: {
'veui-switch': Switch
},
data () {
return {
status: 'ON',
statusMap: STATUS_MAP
}
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ui | string | - | 预设样式。
| ||||||||
checked | boolean | false |
是否处于打开状态。 | ||||||||
true-value | * | true | 打开状态对应的值。 | ||||||||
false-value | * | false | 关闭状态对应的值。 | ||||||||
disabled | boolean | false | 是否为禁用状态。 | ||||||||
readonly | boolean | false | 是否为只读状态。 | ||||||||
loading | boolean | false | 是否为加载中状态。 |
插槽
名称 | 描述 |
---|---|
default | 开关的描述文本,点击时会切换选择状态。无默认内容。 |
事件
名称 | 描述 |
---|---|
change | 用户切换打开状态时触发,回调参数为 (checked: boolean) 。checked 表示当前是否打开。 |
input |
打开状态变化后触发,回调参数为 |
此外,Switch
支持如下的原生事件:
auxclick
、click
、contextmenu
、dblclick
、mousedown
、mouseenter
、mouseleave
、mousemove
、mouseover
、mouseout
、mouseup
、select
、wheel
、keydown
、keypress
、keyup
、focus
、blur
、focusin
、focusout
。
回调参数均为相应的原生事件对象。