亲宝软件园·资讯

展开

Vue Element switch组件

生命不止、战斗不息 人气:0

代码如下所示:

<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;
}

加载全部内容

相关教程
猜你喜欢
用户评论