- 当前 Bug 的表现(可附上截图)
打开页面,默认是未选择状态,此时正确
勾选毕业证CheckBox 并且点击确定
点击确认按钮后,我会调用生命周期函数将页面刷新(为了测试同时调用了onLoad和onShow),可以看到此时控制带的CheckBox value=2 此前是Vaule=1 证明页面已经刷新了的,但是 上一次勾选的checkbox 状态checked 并没有刷新 而是被用在了下一个CheckBox中,即状态没有被重置
请问这个问题怎么解决??
- 预期表现
CheckBox 默认是未选择状态
- 复现路径
- 提供一个最简复现 Demo
不是调用生命周期函数就会刷新的呀,你需要自己维护状态,操作完成把状态重置
试过了 不行的 把checkbox的check设置为false也不行
你的意思是我还是要重新将剩下的没勾选过的checkbox设置默认为false? 但是文档不是已经默认是未选中false吗?更何况我也没点击过的checkbox 为何会帮我勾选上了呢?
checkbox的checked属性绑定的属性已经设置成false了,但是勾选状态依然没有变,文档上写checkedd属性可以用来设置初始状态。是不是就是说它压根不能通过数据驱动改变勾选状态。然后我换了方式,先将数据源清空,然后在nextTick()的回调中重新设置的数据源,生效了(用的uniapp框架)。
您好 能分享下怎么解决的吗?
因为现在我也是遇到这个问题。头都大了
楼主你的这个问题 最后怎么解决的
["allChecked"]: false,
});
重新调用一下就可以了
onShow没有刷新页面,页面当前的一些data都还在,checkbox的data没有更新,记录了上次选中的checkbox的index
简单的做法就是直接加一个开关,在点击按钮之后先将checkbox-group去掉再加上,等于是重新渲染checkbox-group
我尝试过把data清空更新了,也不行。
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
https://developers.weixin.qq.com/s/2wPOxzmD7j7m 刚写了一个测试的,您看一下是不是我写得有问题,谢谢。