uni-app 支付宝小程序 onBackPress 返回为空

uni-app 支付宝小程序 onBackPress 返回为空

产品分类:

uniapp/小程序/阿里

PC开发环境操作系统:

Windows

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

windows10

HBuilderX类型:

正式

HBuilderX版本号:

3.2.16

第三方开发者工具版本号:

2.1.9

基础库版本号:

2.x

项目创建方式:

HBuilderX

示例代码:

onBackPress(e){  
    if(e.from!='navigateBack' ){  
        return true;  
    }  
},

操作步骤:

  • 点击支付宝返回按钮

预期结果:

  • 正确返回数据

实际结果:

  • 返回为空

bug描述:

监听页面生命周期onBackPress返回为空


更多关于uni-app 支付宝小程序 onBackPress 返回为空的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

支付宝小程序只有真机能触发,只能监听非navigateBack引起的返回,不可阻止默认行为。

更多关于uni-app 支付宝小程序 onBackPress 返回为空的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在支付宝小程序中,onBackPress 生命周期函数的参数 e 确实可能为空,这与微信小程序等平台的行为不同。根据支付宝小程序官方文档,onBackPress 事件对象中并不包含 from 字段,因此你代码中的判断条件 e.from != 'navigateBack' 无法正常工作。

支付宝小程序的 onBackPress 主要用于监听页面返回行为(包括物理返回键和导航栏返回按钮),其事件对象通常为空或仅包含基础信息。若需阻止默认返回行为,直接返回 true 即可;允许返回则返回 false 或不返回值。

针对你的代码,建议修改如下:

onBackPress() {
    // 支付宝小程序中无需判断 e.from,直接根据业务逻辑返回 true/false
    // 例如:需要阻止返回时
    // return true;
    // 否则允许返回
    return false;
}
回到顶部