收藏
回答

页面上用了两组checkbox-group,第一组没问题,第二组第一次选中有问题?

第一组复选框是好的,但是第二组第一次选中有问题:

e.detail.value[0]应该要返回0,但是返回的是false,

取消选中,然后再选中,就能返回0了,

就是第一次会有问题

回答关注问题邀请回答
收藏

3 个回答

  • showms
    showms
    2023-02-24
    isCheckNewDeal的初始值是什么
    
    2023-02-24
    有用 1
    回复 1
    • 哎҈呦҈喂҈
      哎҈呦҈喂҈
      2023-02-24
      目前是false,刚刚试了下,如果初始赋值为0,就没问题了
      2023-02-24
      回复
  • 哎҈呦҈喂҈
    哎҈呦҈喂҈
    2023-02-24
    <view class="addBankCard-checkbox">
            <view class="addBankCard-checkbox-lf">
                <checkbox-group bindchange="isCheckedFun">
                    <checkbox value="{{isReadingvalue}}" color="#e5304d" checked="{{isReading}}" />
                </checkbox-group>
            </view>
            <view class="addBankCard-checkbox-rg">
                <text style="color:#7f7f83;">我已阅读并同意</text>
                <text style="color:#3a97ea;" bindtap="goUrl1">《服务协议》</text>
                <text style="color:#3a97ea;" bindtap="goUrl2">《隐私政策》</text>
            </view>
        </view>
        <view class="addBankCard-checkbox">
          <view class="addBankCard-checkbox-lf">
              <checkbox-group bindchange="isCheckedNewxieyi">
                  <checkbox value="{{isCheckNewDeal}}" color="#e5304d" checked="{{isReadingnew}}" />
              </checkbox-group>
          </view>
          <view class="addBankCard-checkbox-rg">
              <text style="color:#7f7f83;">我已阅读并同意</text>
              <text style="color:#3a97ea;" bindtap="goUrl3">《数字证书申请及调用授权书》</text>
          </view>
        </view>
    
          //这个没问题
          isCheckedFun(e) {
            let isReadingvalue = e.detail.value[0];
            isReadingvalue = (isReadingvalue == "0" ? "1" : "0");
            this.setData({
                isReadingvalue: isReadingvalue
            })
            this.checkBtnEnable();
        },
          
          //这个有问题
          isCheckedNewxieyi(e){
          let isCheckNewDeal = e.detail.value[0];
            //第一次选中值为false,第二次开始就好了
          isCheckNewDeal = (isCheckNewDeal == "0"  ? "1" : "0");
          this.setData({
            isCheckNewDeal: isCheckNewDeal
          })
          this.checkBtnEnable()
        },
    
    
    2023-02-24
    有用
    回复 9
    • 风清雾云开见日出
      风清雾云开见日出
      2023-02-24
      你打印一下你的isReadingvalue和isCheckNewDeal 的初始值看看,bindchange获取的都是你的checkbox的value值
      2023-02-24
      回复
    • 哎҈呦҈喂҈
      哎҈呦҈喂҈
      2023-02-24回复风清雾云开见日出
      问题解决了,isCheckNewDeal初始值改成和isReadingvalue一样为0就好了
      2023-02-24
      回复
    • 哎҈呦҈喂҈
      哎҈呦҈喂҈
      2023-02-24回复风清雾云开见日出
      初始值设置为啥,选中后的返回值就是啥嘛?
      2023-02-24
      回复
    • 风清雾云开见日出
      风清雾云开见日出
      2023-02-24回复哎҈呦҈喂҈
      对啊,你第一次选中后重新赋值为0了,,后面就变成正常1和0了,肯定有个初始值的
      2023-02-24
      回复
    • 哎҈呦҈喂҈
      哎҈呦҈喂҈
      发表于移动端
      2023-02-24回复风清雾云开见日出
      e.detail.value[0]返回的是0或者空,那个1是我根据他的返回值重新赋值的
      2023-02-24
      回复
    查看更多(4)
  • 风清雾云开见日出
    风清雾云开见日出
    2023-02-24

    上传代码片段看看

    2023-02-24
    有用
    回复
登录 后发表内容