uniapp微信小程序切换到tabber页面没有自动刷新

Posted 铁锤妹妹@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp微信小程序切换到tabber页面没有自动刷新相关的知识,希望对你有一定的参考价值。

前言

通过uni.switchTab跳转到tabber页面比如个人中心页面,更新的数据没有刷新。导致页面的数据还是修改之前的

解决方法

在uni.switchTab()加入回调函数;
uni.switchTab成功跳转后调用success,此时可以拿到跳转后页面的page对象,从而调用页面onLoad方法重载页面。

uni.switchTab(
     url: 'pages/mine/index',
     success: function (e) 
         // pop() 方法用于删除数组其他元素并返回数组的最后一个元素
         let currentPage = getCurrentPages().pop(); //当前页面
         if (currentPage  == undefined || currentPage == null) return;
         currentPage.onLoad(); //页面存在刷新当前页面
         //currentPage.onShow()
         //currentPage.onReady()
        // 或者执行其他生命周期刷新
      ,
   );

或者

uni.switchTab(
     url: 'pages/mine/index',
     success: function (e) 
         let data =  id: 0  //要传递的参数,不能带在url后面
         let pages = getCurrentPages(); //当前页面栈
         let currentPage = pages[pages.length - 1] //当前页面
         if (currentPage == undefined || currentPage == null) return;
         currentPage.onLoad(data); //页面存在刷新当前页面
         //currentPage.onShow()
         //currentPage.onReady()
        // 或者执行其他生命周期刷新
      ,
   );

两种方法只是获取当前页面路由地址的方式不一样,而且第二种方法加了传参。

参考:
getCurrentPages()的总结

以上是关于uniapp微信小程序切换到tabber页面没有自动刷新的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序(或uniapp)引入腾讯视频插件播放视频

UniApp video 使用(自定义进度条,及微信无法暂停播放设置进度问题)

uni-app 引用 微信小程序原生自定义组件

uniapp中微信小程序如何打开其他微信小程序

微信小程序uniapp封装多列选择器组件

uniapp+uview微信小程序中有两个表单切换但都需要做校验