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

仓颉提供了全局弹窗模块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仓颉开发语言中的全局弹窗的更多相关文章

  1. 详解Kafka: 大数据开发最火的核心技术

    详解Kafka: 大数据开发最火的核心技术   架构师技术联盟 2019-06-10 09:23:51 本文共3268个字,预计阅读需要9分钟. 广告 大数据时代来临,如果你还不知道Kafka那你就真 ...

  2. vagrant三网详解(团队/个人开发必看) 转

    vagrant三网详解(团队/个人开发必看)   Vagrant 中一共有三种网络配置,下面我们将会详解三种网络配置各自优缺点. 一.端口映射(Forwarded port) 顾名思义是指把宿主计算机 ...

  3. 一阶RC高通滤波器详解(仿真+matlab+C语言实现)

    文章目录 预备知识 关于电容 HPF的推导 simulink 仿真 simulink 运行结果 matlab 实现 matlab 运行结果 C语言实现 如果本文帮到了你,帮忙点个赞: 如果本文帮到了你 ...

  4. Spark详解(04) - Spark项目开发环境搭建

    类别    [随笔分类]Spark Spark详解(04) - Spark项目开发环境搭建 Spark Shell仅在测试和验证程序时使用的较多,在生产环境中,通常会在IDEA中编制程序,然后打成Ja ...

  5. 详解如何将MathType嵌入word中

    将MathType嵌入word中的过程就是word插入对象的过程,插入对象是word软件中最常见的操作,MathType公式编辑器与所有的Office程序(OLE技术)都有很好的兼容性,本教程将详解如 ...

  6. Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理

    Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...

  7. Java网络编程和NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector

    Java网络编程与NIO详解4:浅析NIO包中的Buffer.Channel 和 Selector 转自https://www.javadoop.com/post/nio-and-aio 本系列文章首 ...

  8. 一阶RC低通滤波器详解(仿真+matlab+C语言实现)

    文章目录 1 预备知识 2 simulink 仿真 3 simulink 运行结果 4 matlab实现 5 matlab运行结果 6 C语言实现 7 C语言运行结果 如果本文帮到了你,帮忙点个赞: ...

  9. vue 源码详解(一):原型对象和全局 `API`的设计

    vue 源码详解(一):原型对象和全局 API的设计 1. 从 new Vue() 开始 我们在实际的项目中使用 Vue 的时候 , 一般都是在 main.js 中通过 new Vue({el : ' ...

  10. 详解微信小程序开发(项目从零开始)

    一.序 微信小程序,估计大家都不陌生,现在应用场景特别多.今天就系统的介绍一下小程序开发.注意,这里只从项目代码上做解析,不涉及小程序如何申请.打包.发布的东西.(这些跟着微信官方文档的流程走就好). ...

随机推荐

  1. 【Web】Servlet基本概念

    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据, ...

  2. RocketMQ消息是如何存储的

    RocketMQ的消息存储是一个复杂而高效的过程,设计上充分考虑了性能和扩展性, 消息存储的主要组件包括CommitLog文件.消费队列文件(ConsumerQueue).以及索引文件(IndexFi ...

  3. get time等时间指令的用法

    如图,活动时间是选择的方式选取,虽然可以通过定位年月日时来实现选择,这务必带来很多脚本内容.这里用另外的方法实现 1.使用"get time"指令获得当前系统时间 ${1} = 2 ...

  4. grafana最新任意文件读取

    一.Grafana简介 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知.它主要有以下六大特点: 1.展示方式:快速灵活的客户端图表,面板插 ...

  5. Java线程控制: sleep、yield、join深度解析

    结论先行 sleep:主动让出CPU但保持锁,适合控制执行节奏和优化CPU占用 yield:建议让出CPU但无强制力,适用场景有限且效果不稳定 join:通过等待机制实现线程顺序控制,底层基于wait ...

  6. 【代码】Python3|Requests 库怎么继承 Selenium 的 Headers (2024,Chrome)

    本文使用的版本: Chrome 124 Python 12 Selenium 4.19.0 版本过旧可能会出现问题,但只要别差异太大,就可以看本文,因为本文对新老版本都有讲解. 文章目录 1 难点解析 ...

  7. 【工具】Vscode插件推荐(不用谷歌api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)

    需求: 1)偶尔需要查英文生词: 2)有时候想不起来中文对应的英文: 3)不想回到浏览器打开一堆网页: 4)谷歌翻译挂了. 偶尔需要的需求: 1)短句翻译. 因为谷歌翻译挂了,首先,排除最热门的翻译插 ...

  8. AT_arc168_e [ARC168E] Subsegments with Large Sums 题解

    题意: \[\begin{aligned} &\text{给定长度为 } n \text{ 的数列 } \{a_i\} \text{ 和两个参数 } k, s \text{,将 } \{a_i ...

  9. 仿EXCEL插件,智表ZCELL产品V2.1 版本发布,增加列标、行标自定义设置及单元格属性自定义相关功能,优化公式随动功能

    详细请移步 智表(ZCELL)官网www.zcell.net 更新说明  这次更新主要应用户要求,增加列标.行标自定义设置及单元格属性自定义相关功能,优化公式随动功能 ,欢迎大家体验使用. 本次版本更 ...

  10. C语言与汇编

    C变量 C 语言是如何把各种类型的变量转换成对应的汇编语言呢? 高级语言更容易被工程师理解,而汇编语言这样的低级语言,则更容易被机器解读.这是因为汇编语言里的大部分内容都跟机器语言一一对应,你可以这样 ...