uni-app uni.openLocation 返回没有触发fail
uni-app uni.openLocation 返回没有触发fail
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 19041.804 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.1.2
手机系统:Android
手机系统版本号:Android 10
手机厂商:小米
手机机型:MIX 2S
页面类型:nvue
打包方式:云端
操作步骤:
在subNVue中调用uni.openLocation, 成功后,点击地图上的返回,没有在fail在回调
预期结果:
返回在fail又回调
实际结果:
返回没有在fail中回调
更多关于uni-app uni.openLocation 返回没有触发fail的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请提供可稳定复现直接运行的完整示例(上传附件),方便我们快速排查问题哦。
【正确报bug的姿势】https://ask.dcloud.net.cn/article/38139
更多关于uni-app uni.openLocation 返回没有触发fail的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中,uni.openLocation
的fail回调仅在打开地图失败时触发,而用户点击返回按钮属于正常操作流程,不会触发fail回调。这是设计上的预期行为。
如果需要监听返回操作,可以考虑以下替代方案:
- 使用
plus.maps.Map
原生地图对象,它提供了更多事件监听能力:
var map = new plus.maps.Map("map");
map.addEventListener("close", function(){
console.log("地图已关闭");
});
- 对于subNVue场景,可以通过自定义事件与父页面通信:
// subNVue中
uni.$emit('mapClosed', {});
// 父页面中
uni.$on('mapClosed', function(){
console.log("地图已关闭");
});
- 如果是Android平台,还可以尝试监听返回键事件:
document.addEventListener('backbutton', function(){
console.log("返回键被按下");
}, false);