当前位置:   article > 正文

elementUI组件库el-switch开关控件的样式设置,精细至开关内的文字、圆点、背景设置

elementUI组件库el-switch开关控件的样式设置,精细至开关内的文字、圆点、背景设置

        开发项目时做一种开关控件样式,要求显示和隐藏两种状态下的文字、圆点、背景色等都有区别,就研究了一下,各种设置已在代码中标注,小白也可直接复制使用。

  1. <el-table-column label="操作">
  2. <template slot-scope="scope">
  3. <el-switch
  4. class="switchStyle"
  5. :active-value="1"
  6. :inactive-value="0"
  7. @change="$emit('UpdateStatus', scope.row)"
  8. active-text="显示"
  9. inactive-text="隐藏"
  10. :value="scope.row.status"
  11. active-color="#67c23a"
  12. >
  13. </el-switch>
  14. </template>
  15. </el-table-column>

  active-valueinactive-value属性,接受BooleanStringNumber类型的值,此处1表示开,0表示关,与:value值绑定有关或者v-model

  active-textinactive-text属性来设置开 关的文字描述

  active-colorinactive-color属性来设置开 关的背景色。会直接将背景以及边框颜色都改变,此处不适用,边用css来操作

        (与样式无关)此处涉及开关值的绑定,因为从父接收数据,所以子不可以随便修改父的数据,我便用了:value的形式绑定的开关值,以及子通过$emit的形式向父传递改变开关值的操作。        关联开关的值数据若就在此组件,可直接 v-model='scope.row.status ',@change事件绑定方法即可

        主要的css样式设置,通俗易懂! 注意必须使用css样式穿透 ::v-deep

  1. ::v-deep .switchStyle {
  2. //开关小盒子
  3. .el-switch__core {
  4. width: 70px !important;
  5. height: 25px !important;
  6. border-radius: 60px;
  7. background: #ffffff; //圆球在左时的开关背景色 只改变内部色,不改变边框色
  8. //圆球在右时的开关背景色在html结构中active-color="#67c23a"设置即可
  9. }
  10. //开关内区域
  11. .el-switch__label {
  12. position: absolute;
  13. padding-top: 1px;
  14. display: none;
  15. color: #fff;
  16. font-size: 10px !important;
  17. //圆球在左的 文字设置
  18. &--left {
  19. color: #9a9a9a !important;
  20. z-index: 1;
  21. right: 1px;
  22. }
  23. //圆球在右的 文字设置
  24. &--right {
  25. color: #ffffff !important;
  26. z-index: 1;
  27. left: 1px;
  28. font-size: 10px;
  29. }
  30. &.is-active {
  31. display: block;
  32. }
  33. }
  34. //圆球靠左的 圆球样式
  35. .el-switch__core:after {
  36. top: 15%;
  37. left: 4%;
  38. background-color: #d2d2d2;
  39. }
  40. //圆球靠右的 圆球样式
  41. &.el-switch.is-checked .el-switch__core::after {
  42. top: 15%;
  43. left: 97%;
  44. margin-left: -1.063rem;
  45. background-color: #fff;
  46. }
  47. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/740137
推荐阅读
相关标签
  

闽ICP备14008679号