Uniapp(小程序)页面回退时触发提示
当页面存在需要用户填写的表单时,我们需要考虑是否存在用户不小心回退页面的问题。这将导致用户输入的数据都被销毁,用户的体验感极差。
在小程序中,我们无需使用复杂的方法对页面的回退进行监听,小程序中提供了
wx.enableAlertBeforeUnload()方法对页面回退进行监听,以下便是其具体的用法。
wx.enableAlertBeforeUnload(Object object)
功能描述
开启小程序页面返回询问对话框。
弹窗条件
- 当用户在小程序内非首页页面/最底层页
- 官方导航栏上的的返回
- 全屏模式下自绘返回键
- android 系统 back 键时
注意事项
- 手势滑动返回时不做拦截
- 在任何场景下,此功能都不应拦住用户退出小程序的行为
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| message | string | 是 | 询问对话框内容 | |
| success | function | 否 | 接口调用成功的回调函数 | |
| fail | function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
代码:
wx.disableAlertBeforeUnload({
message: '对话框内的内容',
success:function(){},
fail:function(){},
complete:function(){},
})
wx.disableAlertBeforeUnload(Object object)
当设置了
wx.enableAlertBeforeUnload()后,我们无论在何种情况下回退都将触发监听。这就意味着,即便我们成功提交表单后,也还是会触发监听。为了避免提交时被监听,我们就需要在提交完成回退前取消监听。
小程序为我们提供了wx.disableAlertBeforeUnload()方法来取消监听。
功能描述
关闭小程序页面返回询问对话框。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | function | 否 | 接口调用成功的回调函数 | |
| fail | function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
本文介绍如何在Uniapp(小程序)中使用wx.enableAlertBeforeUnload()和wx.disableAlertBeforeUnload()方法,实现页面回退时的用户确认对话框功能,以避免意外丢失用户输入的数据。
1116

被折叠的 条评论
为什么被折叠?



