小枫同学
小枫同学
  • 发布:2022-03-22 22:09
  • 更新:2022-04-02 09:50
  • 阅读:547

【报Bug】onBackPress只监听一次

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10 pro

HBuilderX类型: 正式

HBuilderX版本号: 3.3.13

手机系统: Android

手机系统版本号: Android 11

手机厂商: 小米

手机机型: k20pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="main-box">  

    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  

            }  
        },  
        onBackPress(e) {  
            console.log('点击返回')  
            const time = new Date()  
            console.log(time.getSeconds())  
            return true  
        }  
    }  
</script>  

操作步骤:

使用示例代码后点击返回

预期结果:

点击N次,打印N次:“点击返回”和当前秒数

实际结果:

只打印了一次“点击返回”和只打印了第一次点击返回的秒数

bug描述:

onBackPress只执行一次,代码如下

<template>  
    <view class="main-box">  

    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  

            }  
        },  
        onBackPress(e) {  
            console.log('点击返回')  
            const time = new Date()  
            console.log(time.getSeconds())  
            return true  
        }  
    }  
</script>  

如果没用return true的话,点击一次会执行一次。return true后只会执行第一次,后续只能重新启动APP才会打印

2022-03-22 22:09 负责人:无 分享
已邀请:
小枫同学

小枫同学 (作者)

是有个插件的原因,操

  • 6***@qq.com

    作者怎么解决的?

    2022-05-12 17:19

  • 小枫同学 (作者)

    回复 6***@qq.com: 我是用了一个路由守卫插件的原因导致不符合预期效果,细读插件文档后发现可以“路由解锁”然后就正常了

    2022-05-12 17:34

hws007

hws007 - 我就是我!

尽量用官方的组件

梁山佬酒

梁山佬酒

想问一下为什么我点击物理返回键隔一次才能触发onBackPress

  • 小枫同学 (作者)

    如果没有使用任何其他非官方插件,估计是bug,可以搜一搜社区,看看是否有相关案例,没有就直接提bug试试。否则的话可能是第三方插件做了一些限制

    2022-05-12 17:36

该问题目前已经被锁定, 无法添加新回复