当前位置: 首页 > news >正文

详解HarmonyOS NEXT仓颉开发语言中的全局弹窗

之前分享过仓颉开发语言中的自定义弹窗,那一次的自定义弹窗需要在对应页面先初始化再进行弹出,不是很方便。今天分享一下不依赖页面的全局弹窗。

仓颉提供了全局弹窗模块prompt_action,使用之前先将它导入:

import ohos.prompt_action.*

该模块提供了三种预设好的弹窗形式,第一种是简单的文字提示,可以设置弹窗内容,弹窗持续时间、弹窗模式等属性,使用方式如下:

PromptAction.showToast(message: '这是一个弹窗', duration: 4000, bottom: "80vp", showMode: ToastShowMode.Default)

你可以在任意页面任何地方随时调用,非常方便。看一下效果:

第二种是对话弹窗,内容有标题、内容和按钮的提示弹窗,比上一种弹窗内容丰富了些,适用于大多数场景,使用方式如下:

let buttons: Array<ButtonInfo> = [ButtonInfo("确认", Color.RED),ButtonInfo("取消", Color.BLACK)
]PromptAction.showDialog(title: "标题", message: "删除不可取消,确认删除?", buttons: buttons, callback: { err: Option<AsyncError>, i: Option<Int32> =>})

弹窗效果图如下:

第三种是菜单弹窗,支持传入1到6个按钮,使用方式和对话框类似:

let buttons: Array<ButtonInfo> = [ButtonInfo("选项1", Color.BLACK),ButtonInfo("选项2", Color.BLACK)
]
PromptAction.showActionMenu(title: "标题", buttons: buttons, callback: { err: Option<AsyncError>, i: Option<Int32> =>})

效果图如下:

如果这三种弹窗都不能满足你的要求,PromptAction还支持设置自定义内容,它会返回弹窗的id,我们可以根据id来关闭弹窗,具体使用方式如下:

@State var customdialogId:Int32 = 0@Builder
func CustomDialog() {Column(10) {Image(@r(app.media.startIcon)).width(50).height(50)Text("这是自定义弹窗").height(50.vp)Button("确定").onClick({=> PromptAction.closeCustomDialog(customdialogId)})}.margin(10.vp)
}PromptAction.openCustomDialog(CustomDialogOptions(builder: bind(this.CustomDialog, this)),{ id =>customdialogId = id})

以上就是仓颉语言中全局弹窗的相关内容,感谢阅读。##HarmonyOS语言##仓颉##购物#

http://www.lqws.cn/news/487297.html

相关文章:

  • Android 中查看数据库内容方式
  • vue-23(创建用于逻辑提取的可重用组合组件)
  • Linux-系统管理
  • Java面试题027:一文深入了解数据库Redis(3)
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • 学习Linux进程冻结技术
  • 县城消费市场的调研
  • 微算法科技(NASDAQ:MLGO)研发可信共识算法TCA,解决区块链微服务中的数据一致性与安全挑战
  • 从哈希到挑战响应,密码传输安全解析
  • 基于Qt开发的ModbusTcp主站软件开发教程​——从协议原理到工业级实现
  • python基于微信小程序的广西文化传承系统
  • Vscode自定义代码快捷方式
  • 2025年小程序地图打车的5大技术革新:实时路况预测与智能调度升级
  • 安卓9.0系统修改定制化____如何编辑和修改安卓手机默认按键配置文件 改变按键功能 操作篇 九
  • 为什么android要使用Binder机制
  • vue3+js实现表格虚拟滚动
  • OpenCV计算机视觉实战(12)——图像金字塔与特征缩放
  • Android 15 变更及适配攻略
  • 代码分析与自动化重构
  • Mysql常见的SQL语句格式
  • 【MySQL基础】MySQL复合查询全面解析:从基础到高级应用
  • Blazor-EditContext
  • 智能化战略实施服务,AI咨询与部署全流程支持
  • [2025CVPR]DeepLA-Net:深度局部聚合网络解析
  • STaR: Self-Taught Reasoner Bootstrapping Reasoning With Reasoning论文笔记
  • ISCSI存储
  • Java性能优化权威指南-操作系统性能监控
  • FreeRTOS 介绍、使用方法及应用场景
  • redis如何使用IO多路复用
  • 从语言到生态:编程语言在各行业的应用格局与未来演进