在小程序中,this.setData,只能赋值给data里的单独一项,并不能赋值给data.list.XXX,但是如果需要传递数据到下一个页面则只能传递整个data
解析:
leaveInfo() {
let data = JSON.stringify(this.data)
app.api.user.postParentLeave({
userId: this.data.userId,
leaveType: this.data.radio,
startTime: this.data.startTime,
endTime: this.data.endTime,
description: this.data.message,
applicantId: this.data.applicantId
}, (res) => {
if (res.success) {
wx.redirectTo({
url: 'leaveInfo/leaveInfo?data='+ data,
})
} else {}
})
},
let data = JSON.stringify(this.data)
首先我们需要使用JSON.stringify将data转换为 JSON 字符串
然后通过url,字符串拼接的形式传递数据
url: ‘leaveInfo/leaveInfo?data=’+ data,
在接受页面我们只需要在onLoad()里取到options里的数据转义
onLoad: function (option) {
let item = JSON.parse(option.data)
var that = this
that.setData({
list:item
})
}