微信小程序 点击左上角返回弹窗提示

业务需求:当页面表单没有提交直接返回时,要提示用户是否保存当前信息,如果已经提交就不提示了。

由于微信小程序是无法监听右上角按钮返回事件。

所以就换个思路

小程序提供了如下两个Api

wx.enableAlertBeforeUnload(Object object):开启小程序页面返回询问对话框

wx.disableAlertBeforeUnload:关闭小程序页面返回询问对话框

 实现方法如下:

onLoad: function (options) {this.enableFun()
},
enableFun() {wx.enableAlertBeforeUnload({message: '离开当前页面数据将会被清空',success(res) {console.log('success:', res)},fail(res) {console.log('fail:', res)},complete(res) {console.log('complete:', res)}})}

如果在某种情况下(如已经提交了数据),不需要弹出提示框

onSubmit(){this.disableFun()
},
// 关闭小程序页面返回询问对话框
disableFun() {wx.disableAlertBeforeUnload({success(res) {console.log('success:', res)},fail(res) {console.log('fail:', res)},complete(res) {console.log('complete:', res)}})}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python入门-基础知识-编程规范

1.缩进 在编程语言中,代码之间往往存在着一定的逻辑关系和层次关系。C语言和Java语言等 用“{}”分隔代码块,而Python用的是缩进和冒号。Python代码的缩进可以使用空格键或 Tab键来实现,通常情况下以4个空格或1个制表符作为1个缩进量。Pytho…

TCP协议中的三次握手和四次挥手机制

TCP协议中的三次握手和四次挥手机制 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,它的三次握手和四次挥手机制是建立和断开连接的关键步骤。 三次握手: 第一次…

等保测评与网络安全法规的关联:构建信息安全的法律与技术双重保障

在信息化高速发展的今天,网络安全已经成为国家安全、社会稳定和经济发展的重要基石。为了保障网络空间的安全和稳定,我国制定了一系列网络安全法规,其中最为关键的就是《中华人民共和国网络安全法》。与此同时,等保测评&#xff0…

第 2 章SwiftUI 入门及文本操作

如果你之前使用过 UIKit,你会发现TextSwiftUI 中的控件与 UIKit 中的非常相似UILabel。它是一个允许你显示一行或多行文本的视图。此Text控件不可编辑,但可用于在屏幕上显示只读信息。例如,如果你想显示一条屏幕消息,你可以使用它Text来实现它。 在本章中,我们将向您展示…

RAG开发中常见的12个痛点及解决方案

受到 Barnett 等人论文《构建检索增强生成系统的七大挑战》启发,本文将探讨论文中提及的七大挑战及在开发 RAG(检索增强生成)流程中常遇到的五个额外难题。更为重要的是,我们将深入讨论解决这些 RAG 难题的策略,以便我…

使用 WebGL 创建 3D 对象

WebGL Demohttps://mdn.github.io/dom-examples/webgl-examples/tutorial/sample5/index.html 现在让我们给之前的正方形添加五个面从而可以创建一个三维的立方体。最简单的方式就是通过调用方法 gl.drawElements() 使用顶点数组列表来替换之前的通过方法gl.drawArrays() 直接…

TinTin Web3 动态精选:Aptos Builder Jam 亚洲首站即将开启,Solana 实现全网连接

TinTin 快讯由 TinTinLand 开发者技术社区打造,旨在为开发者提供最新的 Web3 新闻、市场时讯和技术更新。TinTin 快讯将以周为单位, 汇集当周内的行业热点并以快讯的形式排列成文。掌握一手的技术资讯和市场动态,将有助于 TinTinLand 社区的开…

检测SD NAND文件系统异常和修复的方法

目录 1、打开命令提示符: 2、运行chkdsk命令: 3、命令参数说明: chkdsk是Windows中的一个命令行工具,用于检查磁盘上的文件系统错误和修复坏块。MK米客方德为您提供指导,以下是使用chkdsk的步骤: 1、打开…

综合IT运维管理解决方案

综合IT运维管理解决方案 在信息化和数字化高速发展的时代,企业的IT运维管理已经成为保障业务连续性和提升运营效率的关键环节。高效的IT运维管理不仅能够降低运维成本,还能提升服务质量和用户满意度。本文将详细介绍综合IT运维管理解决方案,…

富格林:正规平台曝光出金招数

富格林悉知,在现货黄金中,正规盈利出金是要建立在无落入诱导风险的情况下实现的,投资者要关注的不仅仅是如何进行盈利,还要掌握正规平台曝光的交易技巧或经验。对于新手投资者来说,学习投资的基础知识,提升…

eBPF技术揭秘:DeepFlow如何引领故障排查,提升运维效率

DeepFlow 实战:eBPF 技术如何提升故障排查效率 目录 DeepFlow 实战:eBPF 技术如何提升故障排查效率 微服务架构系统中各个服务、组件及其相互关系的全景 零侵扰分布式追踪(Distributed Tracing)的架构和工作流程 关于零侵扰持…

华为od 2024 | 什么是华为od,od 薪资待遇,od机试题清单

目录 专栏导读华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢? 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

后端系统的安全性

后端系统的安全性 后端系统的安全性是任何Web应用或服务的核心组成部分,它涉及保护数据、用户隐私以及系统免受恶意攻击。以下是后端安全的一些关键点: 认证和授权:确保只有经过身份验证的用户才能访问特定资源。这通常包括使用用户名/密码…

Spring Session将HttpSession保存到Redis中,实现重启应用会话不丢失

这篇文章介绍一下在springboot项目中整合Spring Session,将session会话信息保存到Redis中,防止重启应用导致会话丢失。 第一步 创建一个springboot项目,添加spring-session-redis的依赖,因为要用到reids,所以要把redi…

扩散模型中的UNET

目录 一、为什么UNET模型可以用于去噪网络二、扩散模型中的UNET是一个条件去噪网络,怎么实现的三、UNET用于分割和用去去噪的区别 一、为什么UNET模型可以用于去噪网络 下采样部分: 能够提取图像的深层次特征,这些特征往往包含图像的重要结构和信息&…

Python 继承:理解与应用

Python中的继承是面向对象编程中重要的概念之一,允许一个类(子类)从另一个类(父类)继承属性和方法。这种机制不仅能提高代码的重用性,还有助于构建层次化的数据模型,简化复杂系统的设计与维护。…

原型开发:加速需求验证与设计优化

目录 前言1. 原型开发的意义1.1 定义与概述1.2 原型的类型 2. 原型开发的优势2.1 明确需求2.2 提升用户满意度2.3 降低开发风险 3. 原型开发的挑战3.1 过多的原型开发3.2 资源投入与管理3.3 期望管理 4. 优化原型开发流程4.1 明确目标与范围4.2 选择合适的工具和方法4.3 加强用…

【MySQL基础篇】概述及SQL指令:DDL及DML

数据库是一个按照数据结构来组织、存储和管理数据的仓库。以下是对数据库概念的详细解释:定义与基本概念: 数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库不仅仅是数据的简单堆积,而是遵循一定的规则…

JS 数组删除指定元素以及数组排序

删除 function cut(value) { return value.slice(0,value.length-1) } 排序 let arr [5,2,1,4,9,8] for(let i 0 ; i < arr.length ; i ) { for(let j 0 ; j < arr.length -1 ; j ) { if(arr[j] > arr[j1]){ let num arr[j] arr[j] arr[j1] arr[j1] num come…

C++之STL(十一)

1、迭代器适配器 2、插入迭代器 #include <iostream> #include <vector> #include <algorithm> #include <list> using namespace std;void showVec(const vector<int>& v) {for (vector<int>::const_iterator it v.begin(); it ! v.…