请检查一下代码为什么在退出小程序后重进后会自动提交一次drawTable。 onReady const ctx = wxcreateCanvasContextmyCanvas; thisctx = ctx; thissetData rows ; 从缓存中获取之前保存的数据 const savedData = wxgetStorageSynccanv
在退出小程序后重新进入后会自动提交一次drawTable的原因是在onReady()函数中调用了drawTable()函数。onReady()函数是在小程序初始化完成时触发的生命周期函数,所以每次重新进入小程序时都会执行onReady()函数,从而调用drawTable()函数。
要解决这个问题,可以在onReady()函数中添加一个判断条件,只有当缓存中没有保存的数据时才调用drawTable()函数。修改后的代码如下:
onReady() {
const ctx = wx.createCanvasContext('myCanvas');
this.ctx = ctx;
// 从缓存中获取之前保存的数据
const savedData = wx.getStorageSync('canvasData');
if (savedData) {
this.setData({
bh: savedData.bh,
mc: savedData.mc,
arr1: savedData.arr1,
dw: savedData.dw,
date: savedData.date,
arr2: savedData.arr2,
zt: savedData.zt,
y: savedData.y,
clickCount: savedData.clickCount
});
this.setData({ rows: savedData.rows });
} else {
this.drawTable();
}
},
这样,只有当缓存中没有保存的数据时才会调用drawTable()函数,避免了每次重新进入小程序都自动提交一次drawTable
原文地址: https://www.cveoy.top/t/topic/iia0 著作权归作者所有。请勿转载和采集!