【鸿蒙 HarmonyOS】@ohos.promptAction (弹窗)

一、背景

创建并显示文本提示框、对话框和操作菜单。

文档地址👉:文档中心

说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

该模块不支持在UIAbility的文件声明处使用,即不能在UIAbility的生命周期中调用,需要在创建组件实例后使用。

本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见UIContext说明。

从API version 10开始,可以通过使用UIContext中的getPromptAction方法获取当前UI上下文关联的PromptAction对象。

二、 导入模块

import promptAction from '@ohos.promptAction';

三、实现方式

3.1、创建并显示文本提示框

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个toast').margin({top:100}).onClick(()=>{promptAction.showToast({message: '文本提示框',duration: 2000,bottom:200})})}.width('100%').height('100%')}
}

实现效果: 

参数说明如下:

message:显示的文本信息,必填项。
duration:Toast 显示时间,单位毫秒,范围 [1500, 10000],默认1500。 

bottom:设置弹窗边框距离屏幕底部的位置。默认值:80vp

3.2、创建并显示对话框

3.2.1、promptAction.showDialog同步

创建并显示对话框,对话框响应后同步返回结果

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个Dialog').margin({top:100}).onClick(()=>{promptAction.showDialog({title:'标题',message:'内容-同步',buttons:[{text: "按钮一",color: "#333333"},{text: "按钮二",color: "#999999"}]}).then(data=>{console.info('showDialog success, click button: ' + data.index);}).catch((err:Error)=>{console.info('showDialog error: ' + err);})})}.width('100%').height('100%')}
}

实现效果:

3.2.2、promptAction.showDialog异步

创建并显示对话框,对话框响应结果异步返回

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个Dialog').margin({top:100}).onClick(()=>{promptAction.showDialog({title:'标题',message:'内容-异步',buttons:[{text: "按钮一",color: "#333333"},{text: "按钮二",color: "#999999"}]},(err,data)=>{if (err) {console.info('showDialog err: ' + err);return;}console.info('showDialog success callback, click button: ' + data.index);})})}.width('100%').height('100%')}
}

实现效果:

参数说明如下:

title:对话框标题文本。
message:对话框内容文本。
buttons:对话框中按钮的数组,至少配置一个,最多三个

ShowDialogSuccessResponse

对话框的响应结果。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称

类型

必填

说明

index

number

选中按钮在buttons数组中的索引。

3.3、创建并显示操作菜单 

3.3.1、promptAction.showActionMenu异步

创建并显示操作菜单,菜单响应结果异步返回

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个menu').margin({top:100}).onClick(()=>{promptAction.showActionMenu({title:'标题-异步',buttons:[{text: "按钮一",color: "#666666"},{text: "按钮二",color: "#000000"}]},(err,data)=>{if (err) {console.info('showActionMenu err: ' + err);return;}console.info('showActionMenu success callback, click button: ' + data.index);})})}.width('100%').height('100%')}
}

实现效果:

3.3.2、prompt.showActionMenu同步

创建并显示操作菜单,菜单响应后同步返回结果

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个menu').margin({top:100}).onClick(()=>{promptAction.showActionMenu({title:'标题-同步',buttons:[{text: "按钮一",color: "#666666"},{text: "按钮二",color: "#000000"}]}).then(data => {console.info('showActionMenu success, click button: ' + data.index);}).catch((err:Error) => {console.info('showActionMenu error: ' + err);})})}.width('100%').height('100%')}
}

实现效果: 

参数说明如下:

title: Menu 的显示标题。
buttons: Menu 显示的按钮数组,至少 1 个按钮,至多 6 个按钮。

ActionMenuSuccessResponse

操作菜单的响应结果。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称

类型

必填

说明

index

number

选中按钮在buttons数组中的索引,从0开始。

Button

菜单中的菜单项按钮。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称

类型

必填

说明

text

string| Resource9+

按钮文本内容。

color

string| Resource9+

按钮文本颜色。

最后:👏👏😊😊😊👍👍  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/796486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub入门与实践

ISBN: 978-7-115-39409-5 作者:【日】大塚弘记 译者:支鹏浩、刘斌 页数:255页 阅读时间:2023-08-05 推荐指数:★★★★★ 好久之前读完的了,一直没有写笔记。 这本入门Git的书籍还是非常推荐的,…

【使用 PyQt6-第03章】 部件 QPushButton、QCheckBox、QComboBox、QLabel 和 QSlider 小部件

目录 一、说明二、快速演示三、QLabel四、Q复选框五、QComboBox六、QListWidget七、QLine编辑八、QSpinBox 和 QDoubleSpinBox九、Q滑块十、QDial十一、结论 一、说明 部件 QPushButton、QCheckBox、QComboBox、QLabel 和 QSlider 小部件 创建附加窗口,本教程也适…

Golang | Leetcode Golang题解之第14题最长公共前缀

题目&#xff1a; 题解&#xff1a; func longestCommonPrefix(strs []string) string {if len(strs) 0 {return ""}isCommonPrefix : func(length int) bool {str0, count : strs[0][:length], len(strs)for i : 1; i < count; i {if strs[i][:length] ! str0 …

HTTP 摘要认证

文章目录 一、什么是摘要认证二、工作流程三、实例演示 一、什么是摘要认证 摘要认证&#xff0c;即 Digest Access Authentication&#xff0c;是一种HTTP身份验证机制&#xff0c;用于验证用户的身份。相较于基本认证&#xff08;Basic Authentication&#xff09;使用用户名…

Qt之信号和槽的机制

前言 在 C 中&#xff0c;对象与对象之间产生联系要通过调用成员函数的方式。但是在 Qt中&#xff0c;Qt提供了一种新的对象间的通信方式&#xff0c;即信号和槽机制。在GUI编程中&#xff0c;通常希望一个窗口部件的一个状态的变化会被另一个窗口部件知道&#xff0c;为…

VUE中常用的4种高级特性

1. provide/inject provide/inject 是 Vue.js 中用于跨组件传递数据的一种高级技术&#xff0c;它可以将数据注入到一个组件中&#xff0c;然后让它的所有子孙组件都可以访问到这个数据。通常情况下&#xff0c;我们在父组件中使用 provide 来提供数据&#xff0c;然后在子孙组…

12.自定义的多帧缓存架构

1.简介 在数字图像处理中&#xff0c;经常需要用到的一个架构就是多帧缓存。视频流中需要用到多帧缓存来防止帧撕裂现象&#xff0c;图像处理中也需要帧差法来做移动目标检测。因此一个多帧缓存架构在图像系统的设计中是十分重要的。 2.多帧缓存 在视频流中&#xff0c;通常不…

前端开发全景指南:语言与框架的精粹

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

解决IDEA下载mysql驱动太慢

下载驱动 下载页 解压后&#xff0c;提取**.jar**文件&#xff0c;放到一个目录下(你自己决定这个目录) 打开IDEA项目&#xff0c;点击右侧的数据库选项卡 在打开的页面&#xff0c;点击号 依次选择&#xff1a;数据源->MySQL 在弹出的页面&#xff0c;依次选择&#…

mysql表字段长度扩容分析--MySQL什么情况下拓展字段长度会锁表?

MySQL什么情况下拓展字段长度会锁表&#xff1f; 原生MySQL只支持不跨越256字节的在线扩展&#xff08;online&#xff09;&#xff0c;对于跨越256字节的扩展只支持复制方式&#xff08;copy&#xff09;&#xff0c;扩展时需要锁表且禁止对数据表进行写操作。 字符串的字段是…

Quantinuum与微软携手突破:开创容错量子计算新纪元

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

腾讯云轻量服务器流量不够用了会怎么样?

腾讯云轻量应用服务器是限制月流量的&#xff0c;如果当月流量不够用了&#xff0c;流量超额了怎么办&#xff1f;流量超额后&#xff0c;需要另外支付流量费&#xff0c;如果你的腾讯云账号余额&#xff0c;就会自动扣除对应的流量费&#xff0c;如果余额不足&#xff0c;轻量…

YOLOv7原创独家改进: 小目标 | 注意力 |卷积和注意力融合模块(CAFMAttention) | 2024年4月最新成果

💡💡💡本文独家改进:卷积和注意力融合模块(CAFMAttention),增强对全局和局部特征的提取能力,2024年最新的改进思路 💡💡💡创新点:卷积和注意力巧妙设计 💡💡💡如何跟YOLOv8结合:1)放在backbone后增强对全局和局部特征的提取能力;2)放在detect前面,增…

深入浅出 -- 系统架构之负载均衡Nginx资源压缩

一、Nginx资源压缩 建立在动静分离的基础之上&#xff0c;如果一个静态资源的Size越小&#xff0c;那么自然传输速度会更快&#xff0c;同时也会更节省带宽&#xff0c;因此我们在部署项目时&#xff0c;也可以通过Nginx对于静态资源实现压缩传输&#xff0c;一方面可以节省带宽…

设计模式,工厂方法模式

工厂方法模式概述 工厂方法模式&#xff0c;是对简单工厂模式的进一步抽象和推广。以我个人理解&#xff0c;工厂方法模式就是对生产工厂的抽象&#xff0c;就是用一个生产工厂的工厂来进行目标对象的创建。 工厂方法模式的角色组成和简单工厂方法相比&#xff0c;创建了一个…

设计模式:迭代器模式

定义 迭代器模式&#xff08;Iterator Pattern&#xff09;是一种行为设计模式&#xff0c;它提供了一种方式来顺序访问一个聚合对象中的各个元素&#xff0c;而又无需暴露该对象的内部表示。 应用场景 迭代器模式适用于以下场景&#xff1a; 当你需要对聚合对象提供多种遍…

websocket调用http接口

WebSocket 和 HTTP 接口是两种不同的通信协议&#xff0c;WebSocket 是一种建立在 TCP 连接上的全双工通信协议&#xff0c;可以实现服务器和客户端之间的实时通信。HTTP 接口则是基于请求-响应模式的协议&#xff0c;通常用于客户端向服务器发送请求&#xff0c;并获取服务器的…

【杂记】SQLAlchemy使用方法记录

目录 写在前面1. 什么是SQLAlchemy2. 安装SQLAlchemy3. 使用方法3.1 初始化数据库连接3.2 创建表3.2.1 基础创建表操作3.2.2 常用表字段属性代码3.2.3 建立数据库表关系&#xff08;1&#xff09;一对多&#xff08;2&#xff09;多对多 3.3 查询数据3.3.1 通用的查询数据方法3…

【Java网络编程】HTTP超文本传输协议

一、HTTP超文本传输协议 HTTP全称为Hyper Text Transfer Protocol超文本传输协议&#xff0c;它是基于TCP传输协议构建的应用层协议&#xff0c;作为支撑万维网www的核心协议&#xff0c;为了保证其效率及处理大量事务的能力&#xff0c;因此在设计时&#xff0c;HTTP被制定成为…

机器学习软件perming的使用文档

perming 本文作者的Github账号是linjing-lab,PyPI账户是DeeGLMath perming: Perceptron Models Are Training on Windows Platform with Default GPU Acceleration. p: use polars or pandas to read dataset.per: perceptron algorithm used as based model.m: models includ…