收藏
回答

数组下标为变量怎么访问

问题模块
API和组件

现在我要setData()一些参数

代码类似

showList(e){

let index=e.currentTarget.dataset.index;

let id=e.currentTarget.dataset.id;

this.setData({

'voiceObj.pageList[index].showList':!this.data.voiceObj.pageList[index].showList

})

},

我要改变voiceObj对象中的pageLIst数组下标为index中的某个参数,请问应该怎么写


最后一次编辑于  2017-12-20  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • hanhan
    hanhan
    01-25

    var bset = 'voiceObj.pageList['+index+'].showList';

    this.setData({[bset]: !this.data.voiceObj.pageList[index].showList})

    01-25
    赞同
    回复
  • 爱星星
    爱星星
    2017-12-20

    小程序里支持这个符号:` .

    比如

    let a = 'my_key';

    let b = {'my_key' : 'my_val'}

    //以下两种做法等效:

    b[`${a}`] == b['my_key']



    2017-12-20
    赞同
    回复
  • xuejian🙉
    xuejian🙉
    2017-12-20

    已经解决了先,先赋值在用setData方法

    var data=this.data;

    data.voiceObj.pageList[index].showList=!this.data.voiceObj.pageList[index].showList;

    this.setData(data);


    2017-12-20
    赞同
    回复
  • 西瓜
    西瓜
    2017-12-20

    先把voiceObj存成变量 ,然后修改这个变量 ,再然后把这个修改后的再赋给它自己


    2017-12-20
    赞同
    回复