微信小程序解决多级页面返回及实现返回时弹出层提示

这篇具有很好参考价值的文章主要介绍了微信小程序解决多级页面返回及实现返回时弹出层提示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决微信小程序中点击页面返回按钮时需要返回多级的问题

最初使用的方法是在页面的onUnload中再写一个wx.navigateBack()方法,基本上也能实现效果,但不太完美,会出现一些情况:

  1. 如果当前页面中有按钮需点击后跳转到其他页面时,页面会出现先返回上一页再跳转到目标页面的效果,需要针对这种情况单独做判断
  2. 经测试发现,安卓中可以解决问题,但ios中会出现一级一级跳转的效果,先看到前一个页面再跳转到最终返回的页面
onUnload() {
	wx.navigateBack({
		delta: 2
	})
}

在微信基础库2.16.0以后开始支持page-container组件,通过这个组件可以对右滑手势返回、安卓物理返回键和navigateBack返回三种操作进行控制
使用下列代码可以实现点击页面返回、右滑手势返回、安卓物理键返回直接返回两级,首次点击返回动作关闭的是page-container组件

<page-container
:show="show"
:overlay="false"
@beforeleave="backTip"></page-container>

export default {
	data() {
		return {
			show: true
		}
	}
}
methods: {
	backTip() {
		// 一定要加这个否则可能会出现再次进入该页面无法正常返回的情况
		this.show = false
		uni.navigateBack({
			delta: 2   // 返回层级可自由设定
		})
	}
}

也可通过该方法实现返回前页面提示效果文章来源地址https://www.toymoban.com/news/detail-794164.html

<page-container
	v-if="showPage"  
	:show="show"
	:overlay="false"
	@beforeleave="backTip"></page-container>
// 这里多加一个变量showPage来判断要不要显示page-container是因为直接修改show为true/false也会触发组件的beforeleave事件
backTip() {
	// 判断页面内容是否已经保存,保存了就直接返回,未保存就弹出提示
	this.show = false
	if(this.clickedSave) {
		uni.navigateBack()
	} else {
		// 页面操作未保存提示
		uni.showModal({
			title: '',
			content: '当前页面尚未保存,是否保存离开',
			confirmText: '保存',
			confirmColor: '#01CB62',
			success: (res) => {
				if (res.confirm) {
					this.handleSave()
				} else if (res.cancel) {
					uni.navigateBack()
				}
			}
		})
	}
}

到了这里,关于微信小程序解决多级页面返回及实现返回时弹出层提示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序webview跳转页面后没有返回按钮以及变向解决H5安卓无法监听popstate问题

    做了一个app跳转到小程序关注公众号的需求,小程序里面用webview嵌套公众号的H5。 做完我发现左上角它没!有!返!回!键! 然后!我查了好多资料用过双页面跳转让左上角有返回键,但是吧,它确实是有返回键了但是没办法返回到小程序 ,只是在H5内不停的返回在跳转回

    2024年04月12日
    浏览(36)
  • 微信小程序页面返回操作拦截

    返回操作包括三种情形,右滑手势、安卓物理返回键和调用 navigateBack 接口 微信小程序没有提供类似 onBackPress 监听页面返回的api,在某些特定场景下,业务收到了限制 为了解决这一限制,本文提供了两种较为常用的解决方案 方案一 重写navigationBar 目的是重写左上角返回按钮

    2024年02月08日
    浏览(42)
  • 微信小程序返回上一页面并更新的数据

    微信小程序开发过程中经常把当前页面数据传递给上一个页面,wx.navigateBack()返回上一页,无法传递数据,页面视图没有响应。其中一个办法就是巧妙利用页面栈。 getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素

    2024年02月11日
    浏览(42)
  • uni-app微信小程序,在页面顶部添加返回按键,返回上一个页面

    1.示例: 2.实现方式: 在page.json文件中的style里添加如下代码: 3.tips: 在page.json中的页面顺序就是小程序加载过程中的页面顺序

    2024年02月12日
    浏览(35)
  • 微信小程序如何返回到上一个页面,并刷新页面呢?

    前言  小程序如何返回到上一个页面,并刷新页面呢? 在普通的html页面,很简单,不用操作都可以实现。因为浏览器返回会自动刷新。 但是小程序返回是不会自动刷新上一个页面的。所以需要一点点技巧。  入图第一个页面跳转第二个页面 在第二个页面修改数据,返回第一

    2024年02月11日
    浏览(31)
  • 微信小程序返回上一级页面并自动刷新数据

    界面由A到B,在由B返回A,触发刷新动作 界面A代码 界面B代码 代码如下(示例): 在小程序环境中对应页面的 onShow。 页面显示/切入前台时触发。 Taro React生命周期函数

    2024年03月24日
    浏览(46)
  • 微信小程序 操作完当前页面会,自动返回上一级页面,上一级页面自动刷新

    1:小程序页面有5个声明周期: 是由onLoad(页面加载)、onReady(页面初次渲染完成)、onShow(页面显示)、onUnload(页面卸载)   2:实现返回上一页的时候 其实是直接将隐藏的页面显示出来,所以不存在页面的再次加载 A页面------》B页面--------》返回A页面(自动更新A页面的数据

    2024年02月15日
    浏览(35)
  • 微信小程序返回上级页面传参的几种方法

    在做微信小程序跳转页面,经常会遇到二级页面要返回上级页面,并且需要携带参数,wx.navigateTo()跳转大家都知道直接在url上面拼接参数,之后再二级页面onLoad(options)里获取,但是返回页面wx.navigateBack()不可以那样做,所以就可以用以下几种方式来做,具体看个人业务适合用

    2024年02月08日
    浏览(50)
  • 微信小程序扫一扫左上角按钮返回指定页面

           微信小程序官方文档中有两个参数,success就是正常扫一扫之后要执行的操作,如果进入到扫一扫页面想要点击左上角返回指定页面,可以在fail中书写页面跳转。  

    2024年02月16日
    浏览(44)
  • 微信小程序webview嵌入H5页面,返回 UniAppJSBridgeReady,不触发问题

    公司的一个项目,要求用微信小程序实现对pdf文件,预览签字,用的uniapp开发 pdf预览这部分,用的pdf.js插件实现。 由于微信小程序中webview展示页面不能放在项目本地,要求远端请求网页。而且webview会铺满整个页面,导致我的签字按钮只能放在远端的H5页面实现,当时因为偷

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包