el-switch根据接口判断是否可以切换:before-change

3,077 阅读1分钟
<el-switch       
     v-model="row.enableStatus"           
     inline-prompt        
     active-text="启用"         
     inactive-text="停用"      
     :width="50"  
    :before-change="beforChangeManage.bind(this, row)"    
/>


// switch 状态改变前的钩子, 返回 false 或者返回 Promise 且被 reject 则停止切换
//启用或停用
const beforeShowChangeManage =(row)=>{ 
   return new Promise((resolve, reject)=>{   
      try{      
            proxy.$axios.post('/grouping/enable',  
              { 
                id:row.id,
                enable:row.enableStatus?false:true   
              }, 
            ).then(value=>{    
               resolve(true)   
               ElMessage.success('状态更新成功')      
            }, reason=>{  
               reject(false)    
            }) 
       }catch(err){        
            reject(false) 
       }   
   })   
 }