Switch 开关
表示两种相互对立的状态间的切换,多用于触发「开/关」。
代码演示
基础用法
demo 绑定v-model到一个Boolean类型的变量。可以使用active-color属性与inactive-color属性来设置开关的背景色。
查看代码 < />
<template>
<w-switch
v-model="value1"
active-color="#13ce66"
inactive-color="#ff4949">
</w-switch>
</template>
<script>
export default {
data () {
return {
value1: true,
},
}
}
</script>
开
文字描述
使用active-text属性与inactive-text属性来设置开关的文字描述。
查看代码 < />
<template>
<w-switch
v-model="value1"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="开"
inactive-text="关">
</w-switch>
</template>
<script>
export default {
data () {
return {
value1: true,
},
}
}
</script>
是
禁用状态
设置disabled属性,接受一个Boolean,设置true即可禁用。
查看代码 < />
<template>
<w-switch
v-model="value1"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
disabled>
</w-switch>
</template>
<script>
export default {
data () {
return {
value1: true,
},
}
}
</script>
开关状态拦截
适用于需要异步修改开关状态的场景, 通过before-change参数来控制状态是否需要被改变.
查看代码 < />
<template>
<w-switch
v-model="value1"
active-color="#13ce66"
inactive-color="#ff4949"
:before-change="interceptorHandler"
>
</w-switch>
</template>
<script>
export default {
data () {
return {
value1: true,
},
},
methods: {
interceptorHandler() {
return new Promise(resolve => {
setTimeout(() => {
const result = Math.random(1) > 0.5 ? true : false;
this.$Message({
message: result ? "通过拦截" : "发生错误",
type: result ? "success" : "error"
});
// resolve true or false
resolve(result);
}, 1000);
});
}
}
}
</script>
API
Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 | Version |
|---|---|---|---|---|---|
| active-icon-class | switch 打开时所显示图标的类名,设置此项会忽略 active-text | String | — | — | |
| active-text | switch 打开时的文字描述 | String | — | — | |
| active-value | switch 打开时的值 | Boolean / String / Number | — | true | |
| active-color | switch 打开时的背景色 | String | — | #409EFF | |
| before-change | 当开关状态变化之前触发的回调函数 | Function | — | — | v1.7.2 |
| disabled | 是否禁用 | Boolean | — | false | |
| inactive-icon-class | switch 关闭时所显示图标的类名,设置此项会忽略 inactive-text | String | — | — | |
| inactive-text | switch 关闭时的文字描述 | String | — | — | |
| inactive-value | switch 关闭时的值 | Boolean / String / Number | — | false | |
| inactive-color | switch 关闭时的背景色 | String | — | #C0CCDA | |
| name | switch 对应的 name 属性 | String | — | — | |
| value / v-model | 绑定值 | Boolean / String / Number | — | — | |
| width | switch 的宽度(像素) | Number | — | 40 |
Events
| 事件名称 | 说明 | 回调参数 | Version |
|---|---|---|---|
| change | switch 状态发生变化时的回调函数 | 新状态的值 |
Methods
| 方法名 | 说明 | 参数 | Version |
|---|---|---|---|
| focus | 使 Switch 获取焦点 | — |
贡献者
| 类型 | 参与者 |
|---|---|
| 设计者 | UED视觉组 |
| 维护者 | UED前端组 |