Vue3 el-switch @change事件在初始化时会自动调用问题处理的几种方法


// 方法一
1、把@change事件改成使用before-change
2、before-change它的描述是switch状态改变前的钩子,返回false或者返回Promise且被reject则
停止切换api中使用类型是boolean/functionfunction 对应写成 ()=>Promise<boolean>

:before-change="()=>checkState(item)"
// tip:这种方法实际上我在项目中并没有实现,由于时间关系先疾苦一下,试过的可以反馈一下~


// 方法二
// 其实还可以这样,利用初始状态标识去解决
let isInit = true
   function handleStatusChange(row) {
      if (isInit) {
         isInit = false
         return
      }
      // console.log(8888);
      let text = row.status === "0" ? t('enable') : t('disable');
      proxy.$modal.confirm(t('confirm_to') + text + '""' + row.userName + t('user_id')).then(function () {
         return changeUserStatus(row.userId, row.status);
      }).then(() => {
         proxy.$modal.msgSuccess(text + t('success'));
      }).catch(function () {
         row.status = row.status === "0" ? "1" : "0";
      });
   };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值