HarmonyOS鸿蒙Next中如何实现快应用页面退出时弹框确认
HarmonyOS鸿蒙Next中如何实现快应用页面退出时弹框确认 【现象描述】
很多产品在设计时,希望按返回键退出的时候弹出一个对话框来确认是否退出,从而留住用户。快应用提供了这样的功能,和原生App一样,都是在页面的回调函数中处理的。
【实现方法】
快应用提供了页面生命周期回调函数onBackPress。开发者可重写onBackPress生命周期,在里面自定义返回逻辑,并且返回值必须为true,否则快应用引擎会按照false处理,页面直接退出。以下示例代码中调用了prompt接口实现弹框,点击“确定”后退出,点击“取消”则停留在当前页面。
onBackPress() {
console.log("quit!!!")
var that = this
prompt.showDialog({
title: 'title',
message: '确认不再继续浏览了,要退出吗?',
buttons: [
{
text: '确定',
color: '#33dd44',
},
{
text: '取消',
color: '#33dd44'
}
],
success: function (data) {
console.log("handling callback", data); //返回选中按钮在buttons数组中的序号。
if (data.index === 0) { //点击确定按钮后的行为
that.$app.exit()
}else if(data.index === 1){ //点击取消按钮后的行为
console.log("cancel button is clicked");
}
},
cancel: function () {
console.log("cancel");
}
})
return true
}
【代码运行效果】
如下图所示:
更多关于HarmonyOS鸿蒙Next中如何实现快应用页面退出时弹框确认的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
这个版本太老了, 在5.0上显示好多错误, 希望能出一个新的.
更多关于HarmonyOS鸿蒙Next中如何实现快应用页面退出时弹框确认的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
谢分享。
学习了
在HarmonyOS鸿蒙Next中,实现快应用页面退出时弹框确认,可以通过监听页面的生命周期事件,并在onBackPress
方法中处理。具体步骤如下:
- 监听页面生命周期:在页面的
onInit
方法中,监听onBackPress
事件。 - 弹框确认:在
onBackPress
方法中,使用prompt.showDialog
弹出确认对话框。 - 处理用户选择:根据用户选择,决定是否退出页面。
示例代码:
onInit() {
this.$page.onBackPress = () => {
prompt.showDialog({
message: '确定要退出吗?',
buttons: [
{ text: '取消' },
{ text: '确定' }
]
}).then((data) => {
if (data.index === 1) {
this.$page.finish();
}
});
return true; // 阻止默认返回行为
};
}