HarmonyOS鸿蒙Next中如何关闭promptAction.showDialog弹框啊!
HarmonyOS鸿蒙Next中如何关闭promptAction.showDialog弹框啊!
promptAction.showDialog({
title: 'showDialog Title Info',
message: 'Message Info',
buttons: [
{
text: 'button1',
color: '#000000'
},
{
text: 'button2',
color: '#000000'
}
]
}, (err, data) => {
if (err) {
console.error('showDialog err: ' + err);
return;
}
console.info('showDialog success callback, click button: ' + data.index);
});
我想在离开当前页面的时候关闭所有Dialog弹框,怎么弄?
更多关于HarmonyOS鸿蒙Next中如何关闭promptAction.showDialog弹框啊!的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你的问题是“我想在离开当前页面的时候关闭所有Dialog弹框,怎么弄?”,例如下面:
你要关闭当前页面,操作的方法是侧滑,而侧滑的话一定会先关闭dialog,而其他的方式关闭页面也是首先会关闭dialog,再关闭当前页面的。
建议使用API18的弹窗,增加了close方法 并且api18中showDialog已经废弃。
[@ohos.promptAction (弹窗)-UI界面-ArkTS API-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-promptaction#close)
在HarmonyOS Next中关闭PromptAction.showDialog
弹框,直接调用弹框对象的close
方法即可。示例代码:
let dialogController: PromptAction.PromptController = null;
// 显示弹框
dialogController = PromptAction.showDialog({
// 参数配置
});
// 关闭弹框
dialogController.close();
需要保存showDialog
返回的controller
对象,调用其close
方法可立即关闭弹框。
在HarmonyOS Next中,可以通过以下方式关闭promptAction.showDialog
弹框:
- 使用
promptAction.showDialog
返回的Dialog
对象:
let dialog = promptAction.showDialog({
// 参数配置
}, (err, data) => {
// 回调处理
});
// 关闭弹框
dialog.close();
- 在页面离开时关闭所有弹框(如
onPageHide
生命周期):
onPageHide() {
// 获取当前页面的所有Dialog并关闭
getContext().closeAllDialogs();
}
注意:showDialog
默认会在页面跳转时自动关闭,如果需要在特定时机手动关闭,建议保存Dialog
对象引用。