n***@163.com
n***@163.com
  • 发布:2023-06-12 21:13
  • 更新:2023-06-14 10:59
  • 阅读:614

uniapp 页面加入了onBackPress 事件代码后,按一次返回键页面上的链接都失效了,无法跳转或返回了。

分类:uni-app

我只想做个取消选择的功能,按返回键先取消选择,然后再按返回键还是能让他返回上一页面的,可现实按一次返回键是取消了选择,但页面上的链接都失效了,无法跳转或返回了。该代码在流浏览器上没问题,在手机App上出现上述问题。

!

onBackPress() {  
   //为什么这里就只执行了一次就不进来了?  
  if (this.choiceType == "printShow") {  
    this.choiceType = ""  
    this.$set(this, "selectData", [])  
    return true;  
  }  
    return false;  
}
2023-06-12 21:13 负责人:无 分享
已邀请:
n***@163.com

n***@163.com (作者)

没有人遇到过呢?大家的都整常?

爱豆豆

爱豆豆 - 办法总比困难多

换一种写法呢? onHide的时候调用this.$set(this, "selectData", []) 清空选择

喜欢技术的前端

喜欢技术的前端 - QQ---445849201

往你项目里面套,O(∩_∩)O哈哈~

<template>  
    <view>  
        <h2>这是详情页----{{inBack?'先取消选择':'直接返回'}}</h2>  
        <button @click="inBack = true">选中</button>  
    </view>  
</template>  
<script>  
    export default {  
        onBackPress(options) {  
            if (this.inBack) {  
                this.inBack = false;  
                return true;  
            }  
        },  
        data() {  
            return {  
                inBack: false  
            }  
        },  
        methods: {  

        }  
    }  
</script>
  • 爱豆豆

    我在安卓11上跑了一下 可以的

    有选中状态下 点击返回按钮 会取消选中 再点击一次返回上一个页面

    2023-06-14 11:17

  • n***@163.com (作者)

    回复 爱豆豆: 我以为我页面其他哪里出问题,重新新建了一个测试页,也是还是一样问题,运行环境一样是安卓11

    2023-06-14 18:49

  • n***@163.com (作者)

    按你的代码重新建了个页面,还是一样的问题点击选中后,再按返回,就返回不了。

    2023-06-14 19:43

  • n***@163.com (作者)

    晕,在新建的项目是没问题的,具体还是得用时间去排除下了。谢谢大家了。

    2023-06-14 19:55

  • n***@163.com (作者)

    原因已找到了,是我项目引用了路由拦截插件 crazy-router,跳转时我把跳转失败的原因打印出来发现的,提示:"动作被拦截,因为已经有一个正在执行的路由动作" ,我把 crazy-router 的引用去掉不用了,我也没具体用它干事先,去掉是没问题了。如果要用使用 crazy-router 插件我也还是不知道怎么处理该问题先...

    2023-06-16 22:03

要回复问题请先登录注册