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

微信小程序监听返回操作,强制停留当前页面(右滑手势、安卓物理返回键)

效果如下:(上方的返回按钮是微信自带的,不是自定义的)

微信小程序监听返回操作

ps:

右滑手势、安卓物理返回键、左上角返回按键都能强制停留在当前页面

同样,如果页面上有弹窗,返回按钮点一次关闭弹窗,点第二次才是返回上个页面。(也可以做到点一次直接返回,具体写法按照业务来)。

核心组件:

page-container

https://developers.weixin.qq.com/miniprogram/dev/component/page-container.html

具体代码:

integral.wxml:

<view> 我是背景内容 <t-radio block="{{false}}" checked="{{isSelect}}" bind:change="handleRadioChange" label="单选标题" /> </view> <page-container show="{{pageContainer}}" overlay="{{false}}" bind:beforeleave="handleBeforeLeave"> </page-container> <t-toast id="t-toast" /> <t-dialog visible="{{showTextAndTitle}}" title="对话框标题" content="告知当前状态、信息和解决方法,等内容。描述文案尽可能控制在三行内" confirm-btn="{{ confirmBtn }}" bind:confirm="closeDialog" />

integral.js:

import Toast from 'tdesign-miniprogram/toast'; Page({ /** * 页面的初始数据 */ data: { pageContainer: true, isSelect: false }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { }, handleBeforeLeave() { if (!this.data.isSelect) { Toast({ context: this, selector: '#t-toast', message: '必须勾选才能返回', theme: 'warning', direction: 'column', }); this.setData({ pageContainer: true }) } }, handleRadioChange(e) { this.setData({ isSelect: !this.data.isSelect }, () => { // 手动触发监听逻辑 this.setData({ pageContainer: !this.data.isSelect }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })
http://www.jsqmd.com/news/310145/

相关文章:

  • JVM定义
  • 大语言模型实战(十七)——GraphRAG(图谱检索增强生成)介绍
  • Java毕设选题推荐:基于springboot的小区公共收益管理系统小区电梯广告、公共车位、场地租赁【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 计算机Java毕设实战-基于springboot的小区公共收益管理系统小区公共配套设施收益管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java计算机毕设之基于springboot的小区公共收益归属、分配、管理、使用管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 使用Qwen-agent构建智能体解决大模型数学计算问题
  • 使用VLLM+Deepseek+Milvus构建本地向量库
  • wqs二分
  • 【路径规划】基于快速扩展随机树RRT规划器实现机器人在在网格内找到从指定起始区域到目标区域的路径,同时避开沿途障碍物附matlab代码
  • 【图像增强】水下图像一致性增强评价系统Matlab实现
  • 【免费代码分享】10种卷积神经网络融合BiLSTM的多变量时间序列预测
  • 时序数据库 Apache IoTDB 入选国家重点研发计划高新技术成果产业化试点
  • 2026年回望:Sealos DevBox如何重新定义了云端开发的标准
  • Mac启动Redis并连接
  • 渲染慢到通宵,如何提高渲染速度? 这套技巧3 步搞定!
  • GPU 和 CPU 渲染谁更顶?新手必看的选型指南
  • 如何高效查询海量IP归属地?大数据分析中的IP查询应用
  • Github开源插件!最新豆包AI无水印图批量下载,免费无广告使用,支持高清无损图片下载 (1)
  • 私藏视频不想被看到?1招伪装教你一秒钟伪装
  • 《P2151 [SDOI2009] HH 去散步》
  • 基于Springboot学生交流培养管理平台【附源码+文档】
  • 基于Springboot流浪动物救助平台【附源码+文档】
  • 高驰运动手表二手回收价格怎么定价,上门回收
  • 主循环SYS_TICK无阻塞延迟
  • Java毕设项目:基于springboot的小区公共收益管理系统(源码+文档,讲解、调试运行,定制等)
  • 【毕业设计】基于springboot的小区公共收益管理系统(源码+文档+远程调试,全bao定制等)
  • 计算机等级考试—CMMI CL讲解KTV收银系统—东方仙盟练气期
  • 【课程设计/毕业设计】基于springboot的小区物业费公共收益管理系统【附源码、数据库、万字文档】
  • 高驰二手运动手表回收价格全解析:看懂这几点,闲置变现不亏
  • 勇闯博客世界之我的Java大冒险之善良的小动态sql