当前位置: 首页 > news >正文

微信小程序阻止返回事件

需求场景

当在一个表单页面 填写了很多数据,或者编辑页面数据发生变动之后,这时候返回上一个页面需要提醒用户是否返回的弹框

实现方法一(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 = falseuni.showModal({title: 内容发生改变,确定要退出吗?,success: (e) => {if (e.confirm) {uni.navigateBack(1)} else {//点击取消之后再次开启弹框阻止用户this.showPage = true}},})},
http://www.lryc.cn/news/204597.html

相关文章:

  • YOLOv7改进:新颖的上下文解耦头TSCODE,即插即用,各个数据集下实现暴力涨点
  • Unity中Shader阴影的接收
  • ✔ ★【备战实习(面经+项目+算法)】 10.22学习时间表(总计学习时间:4.5h)(算法刷题:7道)
  • Amazonlinux2023(AL2023)获取metadata
  • C++(Chapter 3)
  • 优化单元测试效率:Spring 工程启动耗时统计
  • 华纳云:连接mysql出现2059错误怎么解决
  • 零基础Linux_22(多线程)线程控制和和C++的多线程和笔试选择题
  • docker版本的Jenkins安装与更新技巧
  • [C++]3.类和对象下(this指针补充)+ 类和对象中构造函数和析构函数。
  • OpenLDAP LDIF详解
  • Leetcode.33 搜索旋转排序数组
  • ES 8.x 向量检索性能测试 把向量检索性能提升100倍!
  • 云计算——ACA学习 云计算架构
  • 基于深度学习实现一张单图,一个视频,一键换脸,Colab脚本使用方法,在线版本,普通人也可以上传一张图片体验机器学习一键换脸
  • leetcode 21
  • 【Spring Cloud】openfeign负载均衡方案(和lb发展历史)
  • R语言:主成分分析PCA
  • Linux下磁盘备份、文件备份和定时备份命令指南
  • 电脑软件:推荐一款非常强大的pdf阅读编辑软件
  • Android 13.0 系统开机屏幕设置默认横屏显示
  • Redis -- 基础知识1
  • ubuntu 20.04 passwd 指令不能使用
  • 单片机郭天祥(02)
  • Hadoop3教程(三十五):(生产调优篇)HDFS小文件优化与MR集群简单压测
  • metersphere 接口自动化
  • Mac上安装和配置Git
  • 【文件操作】Java -操作File对象
  • Socks5代理技术:驱动数字化时代跨界发展的利器
  • 基于二维小波变换的散斑相位奇异构造算法matlab仿真