ElementUI中switch开关--文字显示在按钮里

switch默认样式

在这里插入图片描述

实现效果图

在这里插入图片描述
在这里插入图片描述

具体步骤

1)html 代码

添加class=“switch”,避免全局样式污染

<el-switch
          class="switch"
          v-model="switchvalue"
          :validate-event="true"
          active-text="新增"
          inactive-text="累计"
          inactive-color="#409EFF"
          :width="40"
          :active-value="1"
          :inactive-value="0"
          @change="agent_change"
></el-switch>

2)修改el-switch默认样式

我是单独写在一个样式文件夹里面,然后再在main.js中全局引用

/* 样式文件global.scss*/
/* 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: 20px;
}
/*关闭时文字位置设置*/
.switch .el-switch__label--left {
    z-index: 1;
}
/* 调整关闭时文字的显示位子 */
.switch .el-switch__label--left span{
    margin-right: 8px;
}
/*显示文字*/
.switch .el-switch__label.is-active {
    display: block;
}
/* 调整按钮的宽度 */
.switch.el-switch .el-switch__core,
.el-switch .el-switch__label {
     width: 60px !important;
     margin: 0;
}

可根据自己喜好进行调整

### ElementUI Switch 组件自定义文字显示ElementUI 的 `Switch` 组件中,默认情况下开关只有开/关两种状态而无任何文本提示。为了实现自定义文字显示,可以通过组合使用 `<el-switch>` 和其他 HTML 元素来达到效果[^1]。 一种常见做法是在 `Switch` 外部包裹一层容器,并利用 CSS 来控制不同状态下要展示的具体文案: ```html <div class="custom-switch"> <span v-if="value === false">关闭</span> <el-switch v-model:value="value"></el-switch> <span v-if="value === true">开启</span> </div> <style scoped> .custom-switch { display: flex; align-items: center; /* 垂直居中文本 */ } /* 可选:调整间距 */ .custom-switch span { margin-left|right: 8px } </style> ``` 如果希望直接修改组件内部的文字,则可以考虑通过插槽(slot)机制向组件传递内容。不过需要注意的是,对于某些版本的 Element Plus 或者特定配置下的 Element UI ,此方式可能不被支持或表现异常[^2]。 另一种更推荐的方式是借助于 `active-text` 和 `inactive-text` 属性,在官方文档中有提及这两个属性用于指定激活态与未激活态下显示文字说明[^3]: ```html <template> <el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949" :active-text="'启用'" <!-- 开启时显示 --> :inactive-text="'禁用'"><!-- 关闭时显示 --> ></el-switch> </template> <script setup lang="ts"> import { ref } from 'vue' const value = ref(false); </script> ``` 上述代码片段展示了如何简单地为 `Switch` 添加描述性的文字标签,使得界面更加友好易懂[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值