uni-app禁用返回按钮/返回键

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

前言

使用uni-app开发原生应用时,遇到需求:

  1. 需要禁用物理返回按钮、手势返回。
  2. uni.navigateBack仍可使用。

实现

  1. 当前页面的onBackPress()中,禁用物理返回
  2. pages.json中,去除当前页面的返回按钮
  3. 当前页面的mounted()中,隐藏当前页面的返回按钮(针对pages.json中设置无效的情况)

具体演示代码

1、当前页面中,在onBackPress()控制是否禁用返回按钮、手势返回。

onBackPress(options) {
  // 触发返回就会调用此方法,这里实现的是禁用物理返回,顶部导航栏的自定义返回 uni.navigateBack 仍可使用
  if (options.from == 'backbutton') {
    return true;
  } else if (options.from == 'navigateBack') {
    return false;
  }
},

onBackPress()中的options.from的值有两个:backbutton 和 navigateBack。

  • backbutton:表示来源是左上角原生返回按钮、 Android 返回键或Android手势返回。
  • navigateBack:表示来源是顶部导航栏自定义返回按钮。使用的是uni-app中的返回api:uni.navigateBack(OBJECT),

2、pages.json中,去除当前页面的返回按钮,主要是设置:titleNView

{
  "path": "pages/update/update",
  "style": {
    "navigationStyle": "custom", // 取消本页面的导航栏
    "app-plus": {
      "animationType": "fade-in", // 设置fade-in淡入动画,为最合理的动画类型
      "background": "transparent", // 背景透明
      "backgroundColor": "rgba(0,0,0,0)", // 背景透明
      "popGesture": "none" ,// 关闭IOS屏幕左边滑动关闭当前页面的功能
      "titleNView": { //  隐藏当前页面的返回按钮
        "titleSize": "18px",
        "autoBackButton": false // 禁用原生导航栏
      }
    }
  }
}

3、当前页面中,在mounted()中,隐藏当前页面的返回按钮(非必须)

mounted(){
  //pages.json中设置autoBackButton:false 无效的,可以在需要去除导航返回的页面中的mounted钩子里加上如下代码段
  var backbutton = document.getElementsByClassName('uni-page-head-hd')[0]
  if(backbutton) backbutton.style.display = 'none';
},

以上就是禁用物理返回按钮、手势返回的相关实现逻辑。文章来源地址https://www.toymoban.com/news/detail-482791.html

到了这里,关于uni-app禁用返回按钮/返回键的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • uni-app 之 tabBar 底部切换按钮

    uni-app 之 tabBar 底部切换按钮 1693289945724.png // 常用颜色 // d81e06 紅 // #f4ea2a 黃 // #1afa29 綠 // #1296db 藍 // #13227a 青 // #d4237a 紫 // #ffffff 白 // #2c2c2c 黑

    2024年02月09日
    浏览(35)
  • uni-app 客服按钮可上下拖动动

    项目需求:                因为悬浮客服有时候会遮挡住界面内容,故需要对悬浮的气泡弹窗做可拖动操作         movable-area: 可拖动区域          movable-view: 可移动的视图容器,在页面中可以拖拽滑动或双指缩放。 属性说明 属性名 类型 默认值 说明 平台差异

    2024年02月10日
    浏览(25)
  • uni-app:navigateBack返回上一页

    在 navigateBack 方法中使用 uni.navigateBack  来返回上一个页面。 delta 参数表示返回的页面层数,这里设置为1表示返回上一个页面。 要在uni-app中实现返回上一页并刷新上一个页面,并设置上一个页面的data值,可以使用uni.emit和uni.emit和uni.on来实现事件的发布和订阅。  当前页面

    2024年02月16日
    浏览(27)
  • uni-app 如何返回到指定的页面

    实际开发中,发现了一个问题,即使签署合同的时候,发现调用法大大的页面,出现了一个问题,就是签署后,点回退,回退到了重新签署的页面。所以需要对回退进行自定义处理。 处理的话,就要到指定的返回页面。这里还存在不签署的情况,回退要是原来的页面。所以要

    2024年01月18日
    浏览(52)
  • Uni-app返回上一页面并携带参数

    目录 一、前言 二、实现方法 三、遇到的坑 四、事件详解 一、前言         需要实现这么一个需求:在一个列表页面,当子页面直接返回时,不刷新列表页面。但是当子页面的数据有变动时,需要刷新列表页面。本篇博客记录一下我是如何解决这个问题的。        

    2024年02月08日
    浏览(34)
  • uni-app---- 点击按钮拨打电话功能&&点击按钮调用高德地图进行导航的功能【安卓app端】

    先上效果图: 1. 在封装方法的文件夹下新建一个js文件,然后把这些功能进行封装 2.在需要的页面中进行调用 注意点: 1. 拨打电话需要进行app权限配置,设置完成后可以在正式版看到效果。(这几个最好都勾选上) 2. 配置高德地图的app模块设置,这里的appkey需要到高德地图

    2024年02月05日
    浏览(46)
  • uni-app: onBackPress() 监听页面返回 - 更新数据

    生命周期 - onBackPress() 监听页面返回 函数名 说明 平台差异说明 onBackPress 监听页面返回 ,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示来源是左上角返回按钮或 android 返回键;navigateBack表示来源是 uni.navigateBack ;详细说明及使用:onBackPress 详解。支付宝小程序只有真机

    2024年02月11日
    浏览(41)
  • uni-app返回上一个页面并进行页面刷新

    适用两个不同的页面跳转,返回上一个页面保存并刷新修改后的数据(也解决了uni-app的navigateBack返回不刷新的方法之一) 当前页: 上一页: 思路: 1、用getCurrentPages()获取打开的页面 2、保存当前页面和上一个页面 提示:不确定是不是从当前页跳转到上一页就console.log(pages[pa

    2024年02月12日
    浏览(34)
  • 使用vscode开发配置uni-app(小程序)

    这个文件是用 VsCode 写 uniapp 小程序的步骤笔记 安装Vue脚手架(vue-cli) 通过脚手架创建 uni-app 项目 我们是初学者就直接选择默认模板 创建好后用vscode打开项目 安装vue语法提示插件 vetur 和 vue-helper 安装组件语法提示 初始化npm 从git下载代码块放到项目目录下的 .vscode (没有文件夹

    2024年02月08日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包