收藏
回答

勾选checkbox后,调用生命周期函数刷新,不会清空checkbox已勾选状态

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 工具 7.0.4 2.2.0

- 当前 Bug 的表现(可附上截图)

打开页面,默认是未选择状态,此时正确


勾选毕业证CheckBox 并且点击确定


点击确认按钮后,我会调用生命周期函数将页面刷新(为了测试同时调用了onLoad和onShow),可以看到此时控制带的CheckBox value=2 此前是Vaule=1 证明页面已经刷新了的,但是 上一次勾选的checkbox 状态checked 并没有刷新 而是被用在了下一个CheckBox中,即状态没有被重置

请问这个问题怎么解决??



- 预期表现

CheckBox 默认是未选择状态

- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  04-12
回答关注问题邀请回答
收藏

4 个回答

  • 微信技术专员 - Rex
    微信技术专员 - Rex
    04-12

    不是调用生命周期函数就会刷新的呀,你需要自己维护状态,操作完成把状态重置

    04-12
    赞同
    回复 2
    • 钢铁直男
      钢铁直男
      04-12

      试过了 不行的 把checkbox的check设置为false也不行

      04-12
      回复
    • 钢铁直男
      钢铁直男
      04-12

      你的意思是我还是要重新将剩下的没勾选过的checkbox设置默认为false? 但是文档不是已经默认是未选中false吗?更何况我也没点击过的checkbox 为何会帮我勾选上了呢?


      04-12
      回复
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    04-12

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    04-12
    赞同
    回复 1
  • 张丽
    张丽
    08-22

    楼主你的这个问题 最后怎么解决的

    08-22
    赞同
    回复
  • 星河
    星河
    04-12

    onShow没有刷新页面,页面当前的一些data都还在,checkbox的data没有更新,记录了上次选中的checkbox的index


    简单的做法就是直接加一个开关,在点击按钮之后先将checkbox-group去掉再加上,等于是重新渲染checkbox-group

    04-12
    赞同
    回复 1
    • 钢铁直男
      钢铁直男
      04-16

      我尝试过把data清空更新了,也不行。

      04-16
      回复