小程序setData修改数组某一项的值
官方文档是这样的:
changeItemInArray: function() { // you can use this way to modify a danamic data path this.setData({ 'array[0].text':'changed data' }) }, changeItemInObject: function(){ this.setData({ 'object.text': 'changed data' }); },
无奈自己写的时候还是会遇到不能解决的问题,比如
this.setData({ 'array[0].text':'changed data' })
这里面的arry[o]是动态的,'array[index].text',像这样显然是不行的,在网上搜了搜,虽然不知其所以然,在这里记录下来。
比如,要修改that.data.goods[0].price 的值,可以像这样,
这里是一个动态的变量
var price = 'goods['+index+'].price' this.setData({ [price]:'changed data' })
例:
toggle: function (e) { // console.log(e) var index = e.target.id; let showConObj = 'catalog['+index+'].showCon'; console.log(showConObj); this.setData({ [showConObj]: !this.data.catalog[index].showCon }) }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步