- 返回上一页刷新数据时为什么失效?
需求描述:用户从A页面进入B页面,在B页面添加cases数据,success后自动返回A页面,并刷新A页面的数据 B页面添加数据的代码: dbPainter.doc(id).update({ data:{ cases:_.unshift(exam), }, success:res=>{ wx.showToast({ title: '上传成功', duration:1000, }) let pages = getCurrentPages; let prePage = pages[pages.length - 2]; prePage.getCases(); setTimeout(() => { wx.navigateBack({ delta:1, }) },1000); }, A页面获取数据的方法getCases: getCases(){ let _id = this.data.id; dbPainter.where({ _id, }).limit(1).field({ cases:true, }).get({ success:res=>{ this.setData({cases:res.data[0].cases}) } }) }, 在B页面success后调用了wx.navigateback返回到A页面,但失效,去掉刷新上一页面的方法getCases()后就能正常返回,但不是我想要的效果(就不能刷新数据了)。求解为什么
2021-07-13 - 调用chooseImage和uploadFile时渲染图片到界面上失败,原因不明?
一个任务进度管理的模块,需要用户上传图片,系统获取用户和时间及上传的图片,图片能正常uploadFile,但this.setData时界面无法正常显示。 用户上传前: [图片] 代码: wx.chooseImage({ count:1, success:res=>{ let filePath = res.tempFilePaths[0]; let tempSrc = this.getRam(); let cloudPath = 'process' + tempSrc + filePath.match(/\.[^.]+?$/)[0]; wx.cloud.uploadFile({ cloudPath, filePath, success:su=>{ let id = this.data.id; let name = this.data.painter; let photo = su.fileID; let process = { name, time:today, photo:photo, }; let processes = this.data.process.push(process); this.setData({ process:processes }) dbTask.doc(id).update({ data:{ processes:_.unshift(process), }, }) } }) } }) 用户上传图片后: [图片] 可以看大图片已经上传成功了,界面也更新了(占了一个位置),但图片都不显示。
2021-05-31