鍍金池/ 問(wèn)答/HTML/ 小程序setData的時(shí)候報(bào)錯(cuò)

小程序setData的時(shí)候報(bào)錯(cuò)

Page({
  data: {
    articles: [{type:'news',list:[]},{type:'zixun',list:[]}],
    navbar: [{name:'新 聞',type:'news'},{name:'資 訊',type:'zixun'}],
    currentNavbar: 0
  }),

做了一個(gè)tab選項(xiàng)卡切換 下拉加載更多數(shù)據(jù)的功能

this.setData({
    'articles[0].list': initdata.concat(res.data.data)
})

articles[0].list這樣可以正常獲取數(shù)據(jù)
articles[this.data.currentNavbar].list 不能設(shè)置為動(dòng)態(tài)
報(bào)錯(cuò)如下:Only number 0-9 could inside []: articles[that.data.currentNavbar].list

回答
編輯回答
賤人曾

方式一:使用es6語(yǔ)法

this.setData({
  [`articles[${this.data.currentNavbar}].list`]: initdata.concat(res.data.data)
})

方式二:整體賦值

articles[this.data.currentNavbar].list = initdata.concat(res.data.data)
this.setData({
  articles: articles
})

參考鏈接

  1. 鏈接1
  2. 鏈接2
2017年6月18日 09:07