收藏
回答

多层数组中setData数据更新问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug setData 客户端 1.0.0 2.7.1


多层数组嵌套,底层数组中数据发生变化时,使用以下方式


let currentDevice = [{value: [{dev_state: {power: 'off'}}, {...}]}, {...}];


let p = {currentDevice[0].value[0].dev_state.power: "on"}

 
this.setData(p); 


测试不起作用。


请问此类问题如何解决?

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

1 个回答

  • 鲤子
    鲤子
    2019-07-12

    请把key换成string类型

    如:

    let p = {'currentDevice[0].value[0].dev_state.power':"on"}

    this.setData(p)

    2019-07-12
    有用
    回复 2
    • vicha
      vicha
      2019-07-12

      试过了,不起作用。 目前只有强行先走一遍

      this.setData({
          currentDevice: []
      });
       
      this.setData({
          currentDevice: currentDevice
      })

      才能起作用,但不符合需求

      2019-07-12
      回复
    • 鲤子
      鲤子
      2019-07-12回复vicha

      data:{

          test: [{value:[{a: false}, {a: true}]}]

      },

      onLoad() {

          console.log(this.data.test[0].value[0])

          this.setData({

              ['test[0].value[0].a']: true

          })

          console.log(this.data.test[0].value[0])

      }



      2019-07-12
      回复
登录 后发表内容