收藏
回答

json数组怎么局部更新?

 let sdata={
      'a':{
        'has':true,
        'content':[]
      },
      'b':{ 
        'has':true,
        'content':[]
      },
let chang=sdata['a'].content
chang.push(1)
index是个变量,要添加的key是不确定a还是b
let schang='sdata['+index+'].content'
        that.setData({
          schang:chang,
        })
            that.setData({
          'schang':chang,
        })
都不起作用,谢谢

最后一次编辑于  2021-12-09
回答关注问题邀请回答
收藏

3 个回答

  • brave
    brave
    2021-12-09

    2021-12-09
    有用 3
    回复 3
    • 子游
      子游
      2021-12-09
      喊你大哥,普通拼字符串没效果就没到ES6的拼接字符串能起效果
      2021-12-09
      回复
    • brave
      brave
      2021-12-09回复子游
      当然这种写法也可以
      2021-12-09
      回复
    • 子游
      子游
      2021-12-09回复brave
      这大腿要抱紧
      2021-12-09
      回复
  • 微喵网络
    微喵网络
    2021-12-09
    let content=that.data.sdata.a.content
    content.push(1)
    that.setData({
      "sdata['a'].content": content
    })
    
    2021-12-09
    有用 1
    回复 17
    • 子游
      子游
      2021-12-09
      我上面少写一句,index是个变量,不确定更新的是哪一个key,你这种我写过了 不生效
      2021-12-09
      回复
    • 微喵网络
      微喵网络
      2021-12-09回复子游
      字符串拼接啊
      2021-12-09
      回复
    • 子游
      子游
      2021-12-09
      2021-12-09
      回复
    • 微喵网络
      微喵网络
      2021-12-09回复子游
      稍等,我看看我项目里代码是怎么写的
      2021-12-09
      回复
    • 子游
      子游
      2021-12-09
      2021-12-09
      回复
    查看更多(12)
  • 中式小面包
    中式小面包
    2021-12-09
    this.setData({
     sdata: JSON.parse(JSON.stringify(this.sdata)),
    })
    
    2021-12-09
    有用
    回复 1
    • 子游
      子游
      2021-12-09
      你这个是整体更新了,我需要的是局部更新,因为每个key的contnent数组里数据会比较多,所以需要局部更新
      2021-12-09
      回复
登录 后发表内容