微信小程序中經常遇到的需求就是我提交了一個表單或者進行了一個操作,需要在我的個人中心頁面中實時顯示出來,但是小程序中的tabbar切換類似於tab切換 並不會進行頁面刷新請求
所以總是會造成一些數據更新不及時問題
而閱讀小程序文檔發現了小程序是給提供了解決辦法的
onShow
/** * 生命周期函數--監聽頁面顯示 */ onShow: function () { },
這個方法在頁面進行顯示的時候就會重新執行一次,所以我想到的解決方案就是將需要進行實時更新的數據進行封裝方法
getreloadLog:function(){ wx.showLoading({ title: '加載中', })var that = this; var query = db.collection('log').orderBy('Time', 'DESC').limit(10); if(this.data.isWhere){ query = query.where({ Date:that.data.date }) } query.get().then(res => { that.setData({ log: res.data, page: that.data.page + 1, isAll:false }); wx.hideLoading(); }); },
這樣的就可以在其他方法中進行調用了
/** * 生命周期函數--監聽頁面顯示 */ onShow: function () { this.getreloadLog(); },
或者再進行刪除成功的時候
deleteLog: function (e) { console.log(e.currentTarget.id) var that = this; wx.showLoading({ title: '請稍等,正在刪除', }) db.collection('log').doc(e.currentTarget.id).remove({ success: function () { wx.hideLoading(); wx.showToast({ title: '刪除成功', icon: 'success' }); that.getreloadLog(); } }) },
這樣就實現了tabbar切換的時候進行刷新與刪除的時候刷新當前列表數據