微信小程序阻止返回事件

这篇具有很好参考价值的文章主要介绍了微信小程序阻止返回事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求场景

当在一个表单页面 填写了很多数据,或者编辑页面数据发生变动之后,这时候返回上一个页面需要提醒用户是否返回的弹框文章来源地址https://www.toymoban.com/news/detail-767412.html

实现方法一(ios会存在一定的问题)

  • 在onLoad生命周期里 注册
   wx.enableAlertBeforeUnload({
            message: "您内容已更新,还没保存,确定要退出吗?",
            success: function (res) {
            },
            fail: function (err) {
                console.log("失败:", err);
            },
        });
  • 当你修改数据之后 又把数据还原 此时数据是没有发生改变的 这时候返回上一个页面是不需要阻止用户出现确定弹框的,在你修改数据的判断是否与老数据一致的逻辑中添加如下代码 注销 刚才在onload 生命周期里面的弹框事件,此时返回上一个页面是不会阻止用户
wx.disableAlertBeforeUnload()

方法二

  • 1.在编辑页面添加如下代码
		<view class="" v-if="showPage">
			<page-container :show="showPage " :overlay="false" @beforeleave="beforeleave">
			</page-container>
		</view>
    1. 在data里面 定义showPage 默认为false
    1. 在你判断数据是否发生改变的逻辑中 如果需要提醒用户 this.showPage = true
    1. beforeleave回调 写在methods里
		beforeleave() {
				this.showPage = false
				uni.showModal({
					title: 内容发生改变,确定要退出吗?,
					success: (e) => {
						if (e.confirm) {
							uni.navigateBack(1)
						} else {
							//点击取消之后再次开启弹框阻止用户
							this.showPage = true
						}
					},
				})
			},

到了这里,关于微信小程序阻止返回事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • uniapp学习之【uniapp的返回事件 onBackPress 在微信小程序中不生效的问题】

    uniapp 的返回事件 onBackPress 在微信小程序中不生效的问题 场景 :页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开发工具中调试的时候

    2024年02月16日
    浏览(31)
  • uniapp开发微信小程序阻止事件冒泡

        最近在使用uniapp去开发微信小程序     其中不乏遇到一些问题,我都会发出来。     万一自己别的时候忘记,但是需要用了。   uniapp中开发微信小程序,当使用  @click.stop     去阻止事件冒泡的时候 会发现, @click.stop  并没有生效,就很神奇 问题如图: 解决问题方案

    2024年02月12日
    浏览(30)
  • 微信小程序阻止事件冒泡

    微信开发文档 | 事件详解、事件绑定 微信开发文档上提供了不同的事件绑定方法: 1. bindtap:普通事件绑定 2. catchtap:绑定并阻止事件冒泡 3. mut-bind :互斥事件绑定 如下方示例,在使用catchtap绑定事件后,当用户点击image时,事件不会向上冒泡,就不会触发view绑定的点击事件

    2024年02月09日
    浏览(31)
  • 微信小程序阻止小程序返回的两种方法

    本次项目为uniapp开发,原生小程序也可以参考这两个方法。 wx.enableAlertBeforeUnload onLoad中声明 优点:简单方便 缺点:无法自定义样式、按钮文字及样式 page-container 这是一个类似弹框的组件,具体参数可以去官网查看。 返回操作包括:顶部导航、右滑手势、安卓物理返回键和

    2024年02月16日
    浏览(39)
  • 微信小程序阻止事件冒泡【看这里】

    微信小程序阻止事件冒泡 将子类的点击事件 bindtap 写成 catchtap bindtap :子元素使用bindtap绑定事件后,执行的时候,会冒泡到父元素(触发父元素上绑定的bingtap事件) catchtap :不会冒泡到父元素上,阻止事件冒泡 uniapp阻止事件冒泡 将子类的点击事件 @click 写成 @click.stop 利用

    2024年02月11日
    浏览(33)
  • 在微信小程序中怎样阻止冒泡事件?

    在微信小程序当中,当两个包含的视图都使用了bindtap函数来绑定点击事件的话,就会发生冒泡事件(即点击内部事件时将同时触发外部事件),如果我们要想阻止冒泡事件的发生,将被包含在内部的bindtap该为catchtap即可,下面请看具体事例。 如下图所示,红色框子部分绑定

    2024年02月11日
    浏览(36)
  • 微信小程序阻止用户返回上一页,并弹窗给用户确定是否要返回上一页

    在onload中调用微信的enableAlertBeforeUnload方法,在首次进入会自动监听当前的页面,在返回的时候会自动弹出弹窗阻止用户返回上一页,点击确定则返回上一页,取消则停留在当前页

    2024年02月07日
    浏览(29)
  • 微信小程序自定义左侧返回按钮事件

    有些项目的需求是某个页面返回特定的页面,这就需要对页面的返回按钮进行操作  在查看文档和社区后,总结了几种解决方案 1.在页面生命周期回调函数onUnload()中,调用wx.redirectTo()关闭当前页面返回某一页面。但这种方法有种缺陷,就是原来默认的返回页面会先出现,而想

    2024年02月11日
    浏览(38)
  • 关于uni-app微信小程序监听顶部左上角的返回事件

    在项目上返回上一级的时候需要清空vuex里的数据,使用了onBackPress无效。 查看官方文档后才发现onBackPress对微信小程序无效。  然后我发现了另一个生命周期——onUnload 完美解决!!!

    2024年02月08日
    浏览(40)
  • uniapp微信小程序 页面返回使用navigateBack,返回后页面不刷新问题解决方案

    尝试了众多方法,比如vuex,本地缓存,都不行 1,如果是页面之间的跳转 可以使用onShow生命周期请求数据 2,组件之间的跳转,使用redirectTo,通过关闭当前页面,跳转到指定页面再加载,这种适合二级页面到三级页面数据不更新问题 3,当一级页面使用了某个组件,组件内跳转

    2024年02月15日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包