1、在一個項目中,遇到了這個場景:返回tabBar中的某個頁面是需要保存數據,但是新進這個頁面需要清除數據。
2、場景如下圖:報修進入下一步,返回第一步時不能刷新頁面(即保留頁面數據),從其他tabBar進入報修頁面時就需要清空可能已經填寫的數據。
3、解決辦法,在第二步頁面做了一個本地存儲變量,在第一步的頁面判斷這個變量進而確定是否是第二步頁面返回。
其中,因為第一步有上傳圖片的操作,也會執行"onShow",因此在當前頁面又新增了一個變量去判斷onShow是否是上傳圖片引起的。
第二步頁面代碼:
onShow: function () { wx.setStorageSync('repair',1) },
第一步頁面代碼:注:temp在聲明的時候是0,這個變量是在上傳圖片成功后置為了1
onShow: function () { let value = wx.getStorageSync('repair'); var _tmp = this.data.temp; //返回的時候不清空數據 if (!value){ //清空數據 this.setData({ data:"" }) } },onHide: function () { if(this.data.temp){ wx.setStorageSync('repair', 1); }else{ wx.removeStorageSync("repair"); } },
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答