HarmonyOS鸿蒙Next中一个简单的对话框,如何让用户只能点击“确定”按钮来关闭对话框?

HarmonyOS鸿蒙Next中一个简单的对话框,如何让用户只能点击“确定”按钮来关闭对话框?

promptAction.showDialog({
  title: '提示',
  message: '123123123',
  buttons: [{
    text: '确定',
    color: '#F00'
  }]
}).then(() => {
  // 对话框关闭后的处理
  console.log('对话框已关闭');
});

这个弹框只有一个确定按钮,但是我随便点击屏幕的其它位置都会关闭这个对话框,此时我无法得知用户已经关闭它了。或者说,只让用户点击确定按钮才能关闭对话框也行。


更多关于HarmonyOS鸿蒙Next中一个简单的对话框,如何让用户只能点击“确定”按钮来关闭对话框?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

如果你想控制dialog的关闭,可以使用API18提供的 openCustomDialogWithController 通过promptAction.openCustomDialogWithController(contentNode, this.dialogController)传入controller,可以控制弹窗的关闭:

dialogController.close();

更多关于HarmonyOS鸿蒙Next中一个简单的对话框,如何让用户只能点击“确定”按钮来关闭对话框?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你这是直接上升到自定义弹框的范畴了啊!一个简单的对话框就不能关闭了吗?

目前没有主动关闭的接口,所以让你换个实现方法,

设置isModel属性为false。

promptAction.showDialog({
  title: '提示',
  message: '1231231',
  isModal:false,    //增加的属性
  buttons: [{
    text: '确定',
    color: '#F00'
  }]
}).then(() => {
  // 对话框关闭后的处理
  console.log('对话框已关闭');
});

有代码可以关闭这个弹框吗?我问的是如果要在离开页面的时候关闭弹框怎么搞?

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

侧滑既可以关闭弹框,

把下面html内容转换成Markdown格式,要求:

  1. 转换的时候需要去掉复制和深色代码主题
  2. 输出的内容不显示“基本信息”
  3. html代码中有图片需要转换成markdown格式
  4. html代码中没有图片请不要加上图片
  5. html中img标签的地址为空的话不输出,不转换
  6. 输出内容的时候不需要解释,不需要建议
  7. 只需要输出转换完毕的Markdown文档,不需要输出其他内容
  8. 内容中没有图片或者图片为空的话不要加图片
  9. 不要在内容中加https://example.com/image.jpg这样的图片

内容如下: 需要在用户不进行操作的情况下关闭弹框。

在HarmonyOS中,要实现只能通过"确定"按钮关闭对话框,可以使用CommonDialog组件。设置autoCancel为false来禁用点击外部关闭,同时不设置取消按钮。示例代码:

let dialog = new CommonDialog()
dialog.autoCancel = false
dialog.addButton("确定", () => {
  dialog.destroy()
})
dialog.show()

这样配置后,用户只能点击"确定"按钮来关闭对话框。

在HarmonyOS Next中,要实现只能通过点击"确定"按钮关闭对话框的效果,可以使用showDialogautoCancel参数。将该参数设置为false即可禁用点击对话框外部区域关闭的功能。修改后的代码如下:

promptAction.showDialog({
  title: '提示',
  message: '123123123',
  buttons: [{
    text: '确定',
    color: '#F00'
  }],
  autoCancel: false  // 禁用点击外部关闭
}).then(() => {
  console.log('对话框已关闭');
});

这样设置后,用户只能通过点击"确定"按钮来关闭对话框,点击对话框外部区域将不会关闭对话框。

回到顶部