收藏
回答

用const定义了checked值为什么会变?

看下图用const定义了checked值为什么会变?



下面是代码

const haha = getApp().globalData.abc123
Page({
  showModal(e) {
    const yiyi = haha
    console.log('haha值:',haha)
    console.log('yiyi值:',yiyi)
    this.setData({
      checkbox: yiyi,
      modalName: e.currentTarget.dataset.target
    })
  },
  hideModal(e) {
    this.setData({
      modalName: null
    })
  },
  ChooseCheckbox(e) {
    let items = this.data.checkbox;
    let values = e.currentTarget.dataset.value;
    for (let i = 0, lenI = items.length; i < lenI; ++i) {
      if (items[i].value == values) {
        items[i].checked = !items[i].checked;
        break
      }
    }
    this.setData({
      checkbox: items
    })
  }

})

下面是app.js保存的值

App({
  globalData: {
    abc123: [{
      value0,
      name200,
      checked: false,
      hot: true,
    }, {
      value1,
      name500,
      checked: false,
      hot: true,
    }, {
      value2,
      name1000,
      checked: false,
      hot: true,
    }, {
      value3,
      name2000,
      checked: false,
      hot: true,
    }, {
      value4,
      name5000,
      checked: false,
      hot: true,
    }, {
      value5,
      name10000,
      checked: false,
      hot: true,
    }],
  },

})

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

2 个回答

  • 工号 9527
    工号 9527
    2022-01-05

    你对 const 有误解。

    你只能说 haha 不能再赋值,

    但不表示 haha[0].checked 不能再赋值

    2022-01-05
    有用
    回复
  • 时间去哪了
    时间去哪了
    2022-01-05

    我想点击按钮重置所有选择框变成未选中。结果发现所有的值都被修改成了选中结果。

    完整代码下载:https://share.weiyun.com/S7IcmbHQ

    2022-01-05
    有用
    回复
登录 后发表内容