<--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属性是当前是否选中,可用来设置默认选中;却不无法用更改绑定变量而改变选中状态;
2 个回复
Edmin
还有就是change的时候要同步改变check的值
这句话救了我,谢谢!
Neil_HL
感觉你的逻辑是有问题的,点击checkbox就会触发change事件,出现弹窗,此时用户都已经看到了状态变化了,还有就是change的时候要同步改变check的值,否则可能出现问题。
建议:你放一个透明的view在checkbox上,用户点击checkbox其实是点击在view上,此时你就能随意的控制checkbox的状态了
k***@126.com (作者)
谢谢;我自测很久,发现是我的逻辑有问题;当我点击取消的时候。状态是选中,实际变量的值是没有变化的。所以才会出现这类现象;谢谢您的回复。万分感谢;
2019-03-20 14:59