7***@qq.com
7***@qq.com
  • 发布:2019-06-11 16:52
  • 更新:2019-08-12 14:29
  • 阅读:3942

uni-app 中switch控件 撤销手动改变的状态,如网络请求失败,swich控件状态不改变

分类:uni-app

代码如下:
<switch class="switch green" @change="Switch" :checked="isOpen"></switch></view>

if(e.target.value == true){
uni.request({...
....
success:res=>{
if(res.data.code != 200)
this.isOpen = false
}
fail:res =>{
this.isOpen = false
}
})
}else{
this.isOpen = true
}

不管是异步请求还是 同步改变switch的状态,手动点击switch控件2次,switch的checked的状态还是会改变

2019-06-11 16:52 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com - 90后的It女

请问解决了吗?

  • 1***@qq.com

    不要在@change里更新状态,在@change里更新checked绑定的值,通过watch的方式判断是否选中。


    <switch :checked="openChecked" color="#11D5D1" @change="openfaceChange" />

    watch: {

    openChecked(n,o){

    if(n) {

    this.openface();

    }

    }

    }

    openfaceChange(e){

    this.openChecked = e.detail.value;

    },

    2019-11-05 13:38

该问题目前已经被锁定, 无法添加新回复