收藏
回答

小程序为什么通过setData重新给数组其中一项赋值,其他对象的状态也被修改了?







partslist是从后台获取的数据,我通过循环partslist.frontpartslist.front里面加了一个type字段,type的格式如第二张图,我想修改front里其中一项的type的choose的值,去判断页面选中不选中的状态,但是为什么front.type里的钣喷的choose都被修改了,我只想修改列表里我点击的其中一个,我的代码写的哪里有问题吗?

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

3 个回答

  • 就在那里
    就在那里
    2019-06-18

    this.setData({

        ['partsList.front['+i+'].choose']:!this.data.partsList.fron[i].choose

    })

    2019-06-18
    赞同
    回复
  • mh
    mh
    2019-06-17

    const { id } = e.currentTarget;

    const { front, frontId } = this.data;

    const frontType = front[frontId];

    const chooseKey = `front[${frontId}].type[${id}].choose`;

    that.setData({

      [chooseKey]: !frontType[id].choose

    });

    这么修改试试

    2019-06-17
    赞同
    回复
  • one for all
    one for all
    2019-06-14

    没看明白

    2019-06-14
    赞同
    回复 1
    • one for all
      one for all
      2019-06-14回复👼

      从你提供的截图,没看出来

      2019-06-14
      回复
登录 后发表内容