HarmonyOS 如何封装全局性的弹窗?最佳实践是什么

  1. 封装公共的弹窗的最佳方式是什么?

  2. 如何在非UI组件中使用弹窗?

HarmonyOS
2024-12-18 17:13:09
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
aquaa

如果想封装一个弹窗,可以全局使用的话,可以使用 promptAction 封装一个自定义弹窗

相关参考文档:可以参考 promptAction.openCustomDialog 部分的示例代码https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionopencustomdialog11

简要代码:

let customDialogId: number = 0

export function showCustomDialog() {
  let result: CustomDialogController = new CustomDialogController({
    builder: SimpleDialog({}),
    alignment: DialogAlignment.Bottom,
    customStyle: true,
    offset: {
      dx: 0,
      dy: CommonConstants.DY_OFFSET
    }
  })
  result.open()
}

...

onClick: () => {
  promptAction.openCustomDialog({
    builder: showCustomDialog.bind(this)
  }).then((dialogId: number) => {
    customDialogId = dialogId;
  })
}

//确认/取消弹窗
promptAction.closeCustomDialog(customDialogId)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
分享
微博
QQ
微信
回复
2024-12-18 18:56:22
相关问题
如何封装全局性自定义弹窗
959浏览 • 1回复 待解决
HarmonyOS jsBridge 最佳实践
1205浏览 • 1回复 待解决
HarmonyOS 事件传递最佳实践咨询
911浏览 • 1回复 待解决
应用内整体换肤最佳实践
1495浏览 • 1回复 待解决
网络监听最佳实践有哪些?
1330浏览 • 1回复 待解决
输出静态库最佳实践
1093浏览 • 1回复 待解决
HarmonyOS 应用开发ArkUI布局最佳实践
971浏览 • 1回复 待解决
web写入customUseragent最佳实践
1206浏览 • 1回复 待解决
HarmonyOS 关于音频播放器最佳实践
863浏览 • 1回复 待解决
HarmonyOS ts和ets相互引用最佳实践
1033浏览 • 1回复 待解决
HarmonyOS 单列和瀑布流最佳实践
1148浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏最佳实践
860浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
2126浏览 • 1回复 待解决