Element ui Switch 开关二次确认弹窗后再更改开关状态

Element ui Switch 开关二次确认弹窗后再更改开关状态

Switch 开关

表示两种相互对立的状态间的切换,多用于触发「开/关」。

基本用法

绑定v-model到一个Boolean类型的变量。可以使用active-color属性与inactive-color属性来设置开关的背景色。

<el-switch
  v-model="value"
  active-color="#13ce66"
  inactive-color="#ff4949">
</el-switch>

<script>
  export default {
    data() {
      return {
        value: true
      }
    }
  };
</script>

Events

事件名称说明回调参数
changeswitch 状态发生变化时的回调函数新状态的值

Switch开关并没有click事件,只有一个change事件,点击Switch开关直接更改状态值。
我们可以自定义加一个click事件。
点击Switch开关,这样会执行两个事件,一个是组件自带的change事件,一个是我们自定义加的click事件。
此时我们只需要click事件,需要屏蔽change事件。所以我们要给组件加上disabled属性,屏蔽change事件。

重点:

1、在封装好的组件上使用,所以要加上.native
2、.prevent就相当于…event.preventDefault(),阻止默认行为

禁用状态

设置disabled属性,接受一个Boolean,设置true即可禁用。
在这里插入图片描述

<el-switch
  v-model="value1"
  @click.native.prevent="changeListType(scope.row)"
  disabled>
</el-switch>
<el-switch
  v-model="value2"
  disabled>
</el-switch>
<script>
  export default {
    data() {
      return {
        value1: true,
        value2: false
      }
    },
    methods:{
        changeListType (row) {
	        this.$confirm('此操作将修改策略状态, 是否继续?', '提示', {
	          confirmButtonText: '确定',
	          cancelButtonText: '取消',
	          type: 'warning'
	        }).then(() => {
	          this.$message({
	            type: 'success',
	            message: '修改成功!'
	          })
        }).catch(() => {
			this.$message({
	            type: 'info',
	            message: '已取消删除'
	        });  
        })
    }
  };
</script>

这里需要对禁用状态样式坐下调整:

.el-switch.is-disabled {
 opacity: 1;
}
.el-switch.is-disabled .el-switch__core, .el-switch.is-disabled .el-switch__label {
  cursor: pointer !important;;
}
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值