小程序data数组对象循环赋值
小程序data数组对象循环赋值
需求是这样的: 再onLoad
函数里通过endTime
减去现在的时间来计算还有多少天
这是data里的数组对象
listTask: [
{
content: "学习前端",
endTime: "2020-06-01",
countDown: "",
color: "green"
},
{
content: "4344",
endTime: "2020-05-01",
countDown: "",
color: "pink"
},
{
content: "33",
endTime: "2020-04-01",
countDown: "",
color: "skyblue"
}
]
大家都是知道要想修改data的值就需要通过this.setData
函数来调用修改
一开是我的想法是这样的:
this.data.listTask.forEach((item,index) => {
this.setData({
listTask[index].countDown: endTime
})
}
显然这样是不行的
通过查找资料我发现了一种解决方法
this.data.listTask.forEach((item,index) => {
let taskEndTime:string = "listTask["+ index +"].countDown";
this.setData({
[taskEndTime] : endTime
})
}
完美了解决了问题
组件传值更新data渲染不出数据
书接上文,用组件传递值给data追加值,发现值渲染不上去
后面发现,即使追加的值,也要listTask: this.data.listTask
一下,不然数据渲染不上