详解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语言##仓颉##购物#
详解HarmonyOS NEXT仓颉开发语言中的全局弹窗的更多相关文章
- 详解Kafka: 大数据开发最火的核心技术
详解Kafka: 大数据开发最火的核心技术 架构师技术联盟 2019-06-10 09:23:51 本文共3268个字,预计阅读需要9分钟. 广告 大数据时代来临,如果你还不知道Kafka那你就真 ...
- vagrant三网详解(团队/个人开发必看) 转
vagrant三网详解(团队/个人开发必看) Vagrant 中一共有三种网络配置,下面我们将会详解三种网络配置各自优缺点. 一.端口映射(Forwarded port) 顾名思义是指把宿主计算机 ...
- 一阶RC高通滤波器详解(仿真+matlab+C语言实现)
文章目录 预备知识 关于电容 HPF的推导 simulink 仿真 simulink 运行结果 matlab 实现 matlab 运行结果 C语言实现 如果本文帮到了你,帮忙点个赞: 如果本文帮到了你 ...
- Spark详解(04) - Spark项目开发环境搭建
类别 [随笔分类]Spark Spark详解(04) - Spark项目开发环境搭建 Spark Shell仅在测试和验证程序时使用的较多,在生产环境中,通常会在IDEA中编制程序,然后打成Ja ...
- 详解如何将MathType嵌入word中
将MathType嵌入word中的过程就是word插入对象的过程,插入对象是word软件中最常见的操作,MathType公式编辑器与所有的Office程序(OLE技术)都有很好的兼容性,本教程将详解如 ...
- Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...
- Java网络编程和NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector
Java网络编程与NIO详解4:浅析NIO包中的Buffer.Channel 和 Selector 转自https://www.javadoop.com/post/nio-and-aio 本系列文章首 ...
- 一阶RC低通滤波器详解(仿真+matlab+C语言实现)
文章目录 1 预备知识 2 simulink 仿真 3 simulink 运行结果 4 matlab实现 5 matlab运行结果 6 C语言实现 7 C语言运行结果 如果本文帮到了你,帮忙点个赞: ...
- vue 源码详解(一):原型对象和全局 `API`的设计
vue 源码详解(一):原型对象和全局 API的设计 1. 从 new Vue() 开始 我们在实际的项目中使用 Vue 的时候 , 一般都是在 main.js 中通过 new Vue({el : ' ...
- 详解微信小程序开发(项目从零开始)
一.序 微信小程序,估计大家都不陌生,现在应用场景特别多.今天就系统的介绍一下小程序开发.注意,这里只从项目代码上做解析,不涉及小程序如何申请.打包.发布的东西.(这些跟着微信官方文档的流程走就好). ...
随机推荐
- Oracle配置和性能优化方法
性能是衡量软件系统的一个重要部分,可能引起性能低下的原因很多,如CPU/内存/网络资源不足,硬盘读写速度慢,数据库配置不合理,数据库对象规划或存储方式不合理,模块设计对性能考虑不足等. 1 ...
- UML用例图-UML Use Case Diagram
.wj_nav { display: inline-block; width: 100%; margin-top: 0; margin-bottom: 0.375rem } .wj_nav_1 { p ...
- 【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉”
[电脑]解决DiskGenius调整分区大小时报错"文件使用的簇被标记为空闲或与其它文件有交叉" 零.报错 在使用DiskGenius对磁盘分区进行调整时,DiskGenius检查 ...
- 新装的 MySQL 不允许远程连接
新装的 MySQL 通常会出现这样的情况:无法远程连接,但是本地连接是正常的. 问题原因 新装的 MySQL 通常默认的用户是 root, 而为了安全起见, root 用户是不允许远程连接. mysq ...
- Win10怀旧--win7体验
右键菜单变窄(1903以后失效) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\FlightedFeatures Immer ...
- 使用MCP C# SDK开发MCP Server + Client
大家好,我是Edison. 近日被MCP刷屏了,刚好看到张队发了一篇文章提到MCP的官方C# SDK发布了预览版,于是手痒痒尝了一下鲜,写了一个DEMO分享给大家. MCP是什么鬼? MCP,全称是& ...
- C++宏定义中可变参数列表__VA_ARGS__ 及 QT 提供的宏 QT_OVERLOADED_MACRO
1. 基本用法 VA_ARGS 是 C/C++ 中的预定义宏,用于在宏定义中表示可变参数列表(Variadic Arguments),需与省略号 ... 配合使用.其核心作用是将宏调用中的可变参数原样 ...
- thinkphp mysql 使用IN 条件
今天使用thinkphp whrere in条件查询 数据库是 ,我需要搜索入参 110000 一个字段 ,但是thinkphp 为了效率直接把 in条件转成 = 解决方法 FIND_IN ...
- 基于Java Swing开发好看的皮肤
先介绍几款开源及商业的皮肤. Weblaf:非常赞的套件,界面现代.简约.依赖包较少. 有开源也有商业协议,个人最喜欢的皮肤.https://github.com/mgarin/weblaf PgsL ...
- Lucas 定理简单证明
前言 Oi wiki 和网上博客的证明都没完全看懂,最后还是自己推出来的..这里记录一下思路. Lucas 定理 对于质数 \(p\),$${n\choose m}\bmod p={\lfloor n ...