VUE Element ui el-switch文字在开关里面显示

 

<el-switch
    :value="true"
    active-color="#2b73bb"
    inactive-color="#DCDFE6"
    class="switchStyle"
    :active-value="true"
    :inactive-value="false"
    active-text="开"
    inactive-text="关">
</el-switch>

 样式:

<style lang="scss" scoped>

::v-deep .el-switch__label {
  position: absolute;
  display: none;
  color: #fff;
}
/*打开时文字位置设置*/
::v-deep .el-switch__label--right {
  z-index: 1;
  right: 20px;
}
/*关闭时文字位置设置*/
::v-deep .el-switch__label--left {
  z-index: 1;
  left: 20px;
}
/*显示文字*/
::v-deep .el-switch__label.is-active {
  display: block;
}
::v-deep .el-switch .el-switch__core,
.el-switch .el-switch__label {
  width: 55px;
}
</style>

### 如何在 Vue.js 中通过 `v-model` 实现 Element UI `el-switch` 组件的双向绑定 在 Vue.js 中,Element UI 提供了一个名为 `el-switch` 的组件用于实现开关功能。此组件支持通过 `v-model` 属性实现双向数据绑定。以下是具体实现方法: #### 基本用法 当使用 `el-switch` 时,可以通过 `v-model` 将其绑定到一个布尔类型的变量上。这使得每当用户操作开关时,绑定的数据也会随之更新。 ```vue <template> <div> <el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949"> </el-switch> </div> </template> <script> export default { data() { return { value: true // 初始状态为启 }; } }; </script> ``` 上述代码展示了如何配置颜色以及初始值[^2]。其中: - `active-color` 定义了启动画的颜色。 - `inactive-color` 定义了关闭动画的颜色。 - `v-model` 负责同步组件的状态与绑定的变量。 #### 自定义值绑定 如果希望将 `el-switch` 的值映射为其他类型(如整数 `0/1` 或字符串 `"on"/"off"`),可以利用 `active-value` 和 `inactive-value` 来完成这一需求。 ```vue <template> <div> <el-switch v-model="status" :active-value="1" :inactive-value="0" @change="handleStatusChange"> </el-switch> </div> </template> <script> export default { data() { return { status: 1 // 初始状态为打 (对应于 active-value=1) }; }, methods: { handleStatusChange(value) { console.log('当前状态:', value); // 输出新的状态值 } } }; </script> ``` 在这个例子中,`status` 变量被初始化为 `1` 表示开关处于激活状态。而 `@change` 方法会在每次切换时触发回调函数并打印新值[^3]。 #### 数据交互逻辑 为了确保前端显示始终反映实际业务模型的变化,在某些场景下可能还需要监听外部事件或 API 请求结果来动态调整 `el-switch` 的状态。例如,假设服务器返回了一条记录 `{ isStruct: 'yes' }`,那么可以根据这个字段设置对应的初始值。 ```javascript data() { return { row: { isStruct: 'yes' } // 模拟从服务端获取的一条数据 }; }, computed: { switchValue: { get() { return this.row.isStruct === 'yes'; // 如果是 yes,则视为 true;否则 false }, set(newValue) { const newValueStr = newValue ? 'yes' : 'no'; Object.assign(this.row, { isStruct: newValueStr }); // 更新对象属性 } } } ``` 随后可以在模板部分这样写入: ```html <el-switch v-model="switchValue"></el-switch> ``` 这里的关键在于创建计算属性 `switchValue` 并提供 getter 和 setter 函数以便处理复杂的数据结构转换过程[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值