數據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 })
},