微信小程序 動態修改數組數據方法


數據demo:

tabListLocal: [ // typeLocal主要是和后台數據進行對應匹配
      { currentTab: 0, title: '全部',   typeLocal:0,  total: 0, modelCode:'allReports',list:[] },
      { currentTab: 1, title: '待分配', typeLocal: 7, total: 0, modelCode: 'tobeAssign', list: [] },
      { currentTab: 2, title: '待接單', typeLocal: 8, total: 0, modelCode: 'tobeAccept', list: [] },
      { currentTab: 3, title: '待處理', typeLocal: 9, total: 0, modelCode: 'tobeHandle', list: [] },
      { currentTab: 4, title: '待評論', typeLocal: 10, total: 0, modelCode: 'tobeAssess', list: []}],

由於list的數據是動態的,需要接口查詢返回,因此需要遍歷數據,並動態修改數據。

根據不同的狀態去遍歷查詢該狀態下的數據列表,把返回的接口數據賦值到list屬性。

 this.data.myWorkOrderList.forEach((item,index) =>{
      getRepairOrderList(item.typeLocal).then(rsp => {
        if (rsp.status === 200) {
          this.setData({
            [`myWorkOrderList[${index}].list`] : rsp.data
          })
        }
      })
    })

 

動態賦值方法有2種:

方式一:使用es6語法

[`myWorkOrderList[${index}].list`] : rsp.data

方式二:整體賦值

  大概意思就是,先修改值,再重新setData一次讓其生效。

 // 清空上傳的圖片
  clearImg(e) {
    const index = e.currentTarget.dataset.index
    // 使用整體賦值的方法進行修改
    this.data.repairImageAry.splice(index, 1); 
    this.setData({ repairImageAry: this.data.repairImageAry })
  },

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM