【mpvue】微信小程序调用switchTab重定向到页面,不会自动刷新,调用page.onLoad()方法没有效果

简介: 1、小程序效果演示(1)点击添加基金按钮,跳转到添加基金的页面,目前该页面(pages/index/main)有两个基金。

1、小程序效果演示


(1)点击添加基金按钮,跳转到添加基金的页面,目前该页面(pages/index/main)有两个基金。


image.png


(2)在添加基金页面填写基金代码,会跳出弹框是否继续添加基金


image.png


(3)点击取消,会自动跳转到首页,显示刚刚添加的基金


image.png


2、需求描述,在添加基金页面添加完基金之后,点击showModal提醒框的取消按钮,自动跳转到首页并自动刷新首页,显示出刚刚添加的基金(/pages/index/main)


错误示范


目前我是像下面这样写的,首页不会自动刷新


wx.showModal({
  title: '成功',
  confirmText: '继续',
  content: `${res.code}(${res.name})添加成功,要继续添加基金吗?`,
  success: function (res) {
    if (res.cancel) {
      wx.switchTab({
        url: '/pages/index/main'
      })
    }
  }
})


3、通过page.onLoad()来解决自动刷新的问题


wx.showModal({
  title: '成功',
  confirmText: '继续',
  content: `${res.code}(${res.name})添加成功,要继续添加基金吗?`,
  success: function (res) {
    if (res.cancel) {
      wx.switchTab({
        url: '/pages/index/main',
        success: function (e) { 
          var page = getCurrentPages().pop();
          console.log('page',page)
          if (page == undefined || page == null) return;
          page.onLoad();
        } 
      })
    }
  }
})


只是写上面语句page.onLoad();语句还不会生效,需要到url:

'/pages/index/main'对应的index.vue页面中,添加onLoad函数,其中this.getFunds()是我在methods中定义的获取目前添加的所有基金的方法。


onLoad () {
  this.getFunds()
}


这样onload就生效了。


4、通过page.onPullDownRefresh()来解决自动刷新的问题


(1)首先将page.onLoad();改成page.onPullDownRefresh();


wx.showModal({
  title: '成功',
  confirmText: '继续',
  content: `${res.code}(${res.name})添加成功,要继续添加基金吗?`,
  success: function (res) {
    if (res.cancel) {
      wx.switchTab({
        url: '/pages/index/main',
        success: function (e) { 
          var page = getCurrentPages().pop();
          console.log('page',page)
          if (page == undefined || page == null) return;
          page.onPullDownRefresh();
        } 
      })
    }
  }
})


(2)再在pages/index/index.vue文件中添加上onPullDownRefresh,其中this.getFunds()是我在methods中定义的获取目前添加的所有基金的方法


<script>
export default {
  onPullDownRefresh () {
  this.getFunds()
  }
}
</script>


(3)在pages/index/main.json中添加代

"enablePullDownRefresh":true,设置允许下拉刷新


{
  "enablePullDownRefresh":true
}


这样添加完基金,返回到显示基金的页面,就会显示刚刚添加的基金了。



目录
相关文章
|
15天前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
5月前
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
249 1
|
6月前
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
6月前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
6月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
2月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
50 0
|
4月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
97 0
在线课堂+工具组件小程序uniapp移动端源码
|
5月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
662 3
|
5月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
113 0
微信小程序更新提醒uniapp
|
7月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
169 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目

热门文章

最新文章