@TOC
有对于 element 中 switch 的用法
el-switch 的具体用法
实现的效果图
具体实现步骤:
(1)增加 html 代码的显示,此处写了 class=”switch” 类名, 是为了防止造成全局款式的净化。
<el-table-column label="高低架" align="center">
<template slot-scope="scope">
<el-switch
class="switch"
v-model="scope.row.status"
:active-value="0"
:inactive-value="1"
active-text="上架"
inactive-text="下架"
>
</el-switch>
</template>
</el-table-column>
(2)批改 el-switch 的默认款式
我的款式是写在全局款式文件 main.css 中的,如果是想在 el-switch 所在文件中去批改款式的话,肯定要留神 style 中不能有 scoped 属性,否则写的款式可能会不失效。然而如果去掉 scoped 的话,款式也会作用于全局,有可能会造成全局净化,所以倡议在款式里面加一个全局类名。
小知识点:在应用 vue 框架的时候,给 style 标签增加 scoped 属性,示意该 style 标签所蕴含的款式仅仅作用于以后的 vue 组件,不会产生款式全局净化的状况,一个利用中所有 vue 组件都加上该属性,则实现了款式的模块化
/* switch 按钮款式 */
.switch .el-switch__label {
position: absolute;
display: none;
color: #fff !important;
}
/* 关上时文字地位设置 */
.switch .el-switch__label--right {z-index: 1;}
/* 调整关上时文字的显示位子 */
.switch .el-switch__label--right span{margin-right: 9px;}
/* 敞开时文字地位设置 */
.switch .el-switch__label--left {z-index: 1;}
/* 调整敞开时文字的显示位子 */
.switch .el-switch__label--left span{margin-left: 9px;}
/* 显示文字 */
.switch .el-switch__label.is-active {display: block;}
/* 调整按钮的宽度 */
.switch.el-switch .el-switch__core,
.el-switch .el-switch__label {
width: 70px !important;
margin: 0;
}