信息发布→ 登录 注册 退出

Vue+Element switch组件的使用示例代码详解

发布时间:2026-01-11

点击量:

代码如下所示:

<el-table-column label="商品状态" align="center">
          <template slot-scope="{row}">
            <el-switch
              v-model="row.goods_state"
              class="switch"
              :active-value="1"
              :inactive-value="0"
              active-text="上架"
              inactive-text="下架"
              @change="change($event,row)"
            />
          </template>
        </el-table-column>

参数说明:

widthswitch 的宽度(像素)
active-textswitch 打开时的文字描述
inactive-textswitch 关闭时的文字描述
active-value

switch 打开时的值

inactive-valueswitch 关闭时的值
active-colorswitch 打开时的背景色
inactive-colorswitch 关闭时的背景色

完整代码:

 <el-table-column label="商品状态" align="center">
          <template slot-scope="{row}">
            <el-switch
              v-model="row.goods_state"
              class="switch"
              :active-value="1"
              :inactive-value="0"
              @change="change($event,row)"
            />
          </template>
        </el-table-column>
<script>
 methods: {
    //状态切换
    change(data, row) {
      console.log(data);
      console.log(row);
      //此处可以请求后端接口更改商品状态
    },
  }
};
 
</script>

如何让文字在按钮中显示如以下这样

解决办法:加入以下css样式

/* 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: 60px !important;
  margin: 0;
}
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!