小程序为什么通过setData重新给数组其中一项赋值,其他对象的状态也被修改了?
发布于 5 年前 作者 zhangqiang 4279 次浏览 来自 问答

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

3 回复

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

});

这么修改试试

this.setData({

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

})

回到顶部