k***@126.com
k***@126.com
  • 发布:2019-03-19 16:27
  • 更新:2019-07-17 09:54
  • 阅读:6538

uni-app给的组件中checkbox;无法用js控制是否选中

分类:uni-app
<--html部分-->  
<checkbox-group @change='RememberPassword'>  
                <label><checkbox value="cb" :checked="check" color="#2dc3cc"/>记住密码</label>  
 </checkbox-group>  
<--jsl部分-->  
RememberPassword(val){  
                let _this =this  
                console.log(val);  
                console.log(val.detail.value.length);  
                if(val.detail.value.length !=0){  
                    uni.showModal({  
                        title: '提示',  
                        content: '您确定记住密码吗?',  
                        success: function (res) {  
                            if (res.confirm) {  
                                console.log('用户点击确定');  
                                _this.check = true;  
                            } else if (res.cancel) {  
                                console.log('用户点击取消');  
                                _this.check = false;  

                            }  
                        }  
                    });  
                }  
    }

需求:点击checkbox时候,会有一个交互弹窗,此时点击确定,checkbox为选中状态,点击取消的时候,取消选中状态;
文档:checked属性是当前是否选中,可用来设置默认选中;却不无法用更改绑定变量而改变选中状态;

2019-03-19 16:27 负责人:无 分享
已邀请:
Edmin

Edmin

还有就是change的时候要同步改变check的值

这句话救了我,谢谢!

Neil_HL

Neil_HL

感觉你的逻辑是有问题的,点击checkbox就会触发change事件,出现弹窗,此时用户都已经看到了状态变化了,还有就是change的时候要同步改变check的值,否则可能出现问题。
建议:你放一个透明的view在checkbox上,用户点击checkbox其实是点击在view上,此时你就能随意的控制checkbox的状态了

  • k***@126.com (作者)

    谢谢;我自测很久,发现是我的逻辑有问题;当我点击取消的时候。状态是选中,实际变量的值是没有变化的。所以才会出现这类现象;谢谢您的回复。万分感谢;

    2019-03-20 14:59

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