鍍金池/ 問答/HTML/ 微信小程序如何在遍歷中修改data的值

微信小程序如何在遍歷中修改data的值

data: {
    personData:[100,200,300,400,500,600]
},
onLoad: function(options) {
    this.Limit()
},
limit(){
    var _this=this;
      this.data.personData.forEach(item=>{
      if (item>400) {
        對大于400的項進(jìn)行處理
      }
   })
}

剛接觸微信小程序有個不太明白的地方, 就是在上面的forEach中要對大于400的項進(jìn)行修改,微信小程序里需要調(diào)用this.setData(),但是拿到的是全局的內(nèi)容,如何像js中一樣使用this修改呢

回答
編輯回答
半心人

可以先用一個變量保存處理后的值,全部重新處理完再重新賦值setData。

limit(){
    var _this=this;
    var temp = []
      this.data.personData.forEach(item=>{
      if (item>400) {
        temp.push(item) //對大于400的項進(jìn)行處理,處理后再setData
      }
   })
    this.setData({personData:temp})
}
2018年9月19日 05:35
編輯回答
絯孑氣
this.setData({
    ["personData.0"]: "設(shè)置角標(biāo)為0的內(nèi)容"
})
2018年1月17日 22:15