uniapp跨平台开发---微信小程序onBackPress无效_uniapp onbackpress
onBackPress
当用户进行以下操作时,会触发该函数:
- Android 实体返回键 (
from = backbutton
) - 顶部导航栏左边的返回按钮 (
from = backbutton
) - 返回 API,即
uni.navigateBack()
(from = navigateBack
)
注意事项:
- 只有在该函数中返回值为 true 时,才表示不执行默认的返回,自行处理此时的业务逻辑。
- 当不阻止页面返回却直接调用页面路由相关接口(如:uni.switchTab)时,可能会导致页面显示异常,可以通过延迟调用路由相关接口解决。
- 不返回或返回其它值,均会执行默认的返回行为。
- H5 平台,顶部导航栏返回按钮支持
onBackPress()
,浏览器默认返回按键及Android手机实体返回键不支持onBackPress()
- 暂不支持直接在自定义组件中配置该函数,目前只能是在页面中来处理。
场景描述
在微信小程序中,二级页面中间有跳转其他页面需求,但是左上角返回按钮,回根据你的路由顺序返回,这样就会造成没有返回一级页面,需要强制返回固定页面,uniapp 中有onBackPress钩子函数,可以设置返回触发自定义事件(必须有返回true),但是此钩子在微信小程序中不生效
onBackPress(event) { uni.switchTab({ url: \'/pages/home/index\' }) return true },
替代方案
在onUnload钩子,页面卸载时设置返回指向
onUnload() { uni.switchTab({ url: \'/pages/home/index\' }) },