HarmonyOS应用开发学习笔记 arkTS自定义弹窗(CustomDialog)简单使用 arkTS弹出框回调、监听

HarmonyOS应用开发学习笔记 arkTS自定义弹窗(CustomDialog)简单使用

1、@CustomDialog装饰器用于装饰自定义弹框

在这里插入图片描述

1、定义弹出框 @CustomDialog

@CustomDialog
export struct CustomDialogExample {controller: CustomDialogControllerbuild() {Column() {Text("是否退出?").fontSize(30).margin({ top: 60 })Blank()Row() {Text('是').width('50%').height(40).backgroundColor(Color.Blue).fontColor(Color.White).fontSize(18).textAlign(TextAlign.Center)Text('否').width('50%').height(40).backgroundColor(Color.Gray).fontColor(Color.White).fontSize(18).textAlign(TextAlign.Center)}.backgroundColor(Color.Red)}.width('100%').height(200)}
}

2、使用 .open()

  private dialog =new CustomDialogController({ builder: CustomDialogExample() })……Button("拥抱时代").width('80%').margin({ left: 20, top:200, right: 20 }).onClick(() => {this.dialog.open() //淡出淡出狂})

3、弹出框添加回调

在这里插入图片描述
在这里插入图片描述

  • 使用的地方代码
  private dialog = new CustomDialogController({builder: CustomDialogExample({cancel: this.onCancel,confirm: this.onAccept})})//定义onCancel回调方法onCancel() {console.info('Callback when the first button is clicked')}//onAcceptonAccept() {console.info('Callback when the second button is clicked')}
  • 弹出框的代码
@CustomDialog
export struct CustomDialogExample {controller: CustomDialogController //弹出框控制器cancel: () => void //回调方法cancelconfirm: () => void //回调方法confirmbuild() {Column() {Text("是否退出?").fontSize(30).margin({ top: 60 })Blank()Row() {Text('是').width('50%').height(40).backgroundColor(Color.Blue).fontColor(Color.White).fontSize(18).textAlign(TextAlign.Center).onClick(() => {this.controller.close()this.confirm() //调用回调})Text('否').width('50%').height(40).backgroundColor(Color.Gray).fontColor(Color.White).fontSize(18).textAlign(TextAlign.Center).onClick(() => {this.controller.close()this.cancel() //调用回调})}.backgroundColor(Color.Red)}.width('100%').height(200)}
}

在这里插入图片描述

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

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

相关文章

mac vscode latex实用

网上有教程怎么在vscode里安装macTex以及插件,然后就可以在latex里写代码了,这里需要修改的是对应的json文件,输入command P,可以看到最近打开的json设置文件,结果如下 然后设置这个json文件,我的json文件设置如下 …

【MQTT】MQTT协议与指令下发;MQTT与Kafka比较

本文内容: 一、MQTT协议1. 发布/订阅模型:2. 连接和会话:3. QoS级别(Quality of Service Levels):4. 保留消息:5. Last Will and Testament(遗嘱消息):6. 适用…

springcloud微服务分布式 springboot+vue的轻院校园网购商城管理系统 Eureka

本文的研究目标是以商城的轻院网购商城管理体系为对象,论文的研究内容包括:商品信息、系统公告等方面进行了研究。系统以当前应用最为广泛的Java语言为基础,结合了目前应用最为广泛的嵌入式嵌入式平台,集成了B/S体系结构。数据库选…

Tensor Core的一些概念理解

英伟达的GPU产品架构发展如下图,Tensor Core是从2017年的Volta架构开始演变的针对AI模型大量乘加运算的特殊处理单元。本文主要梳理一些关于Tensor Core的一些基础概念知识。 什么是混合精度? 混合精度在底层硬件算子层面,使用半精度&#xf…

墙地砖外形检测的技术方案-图像获取

硬件系统 墙地砖外形检测硬件系统主要由工业相机、光源、瓷砖位置检测电路和上位机组成,其结构如图所示。为了提高系统检测精度和稳定性,系统采用的是较高精度的高速工业相机用于抓取墙地砖表面轮廓图像,图像数据通过USB接口向上位机传送&am…

9个Linux系统信息命令

通过这些命令可以查看 Linux 系统硬件、内核、发行版、主机名、正常运行时间等详细信息。 1. uname – 打印系统信息 uname 命令可打印 Linux 系统内核、硬件架构、主机名和操作系统的详细信息。其中包括版本号和机器信息。 uname(Unix name的缩写)打…

阿里云服务器的tcp端口无法访问(云服务厂家问题?)

问题->无法访问 阿里云服务器的tcp端口 最近一台阿里云服务器的一个端口61616无法访问,在服务器内用外网地ip发现无法访问,用内网ip访问是正常的,通过技术排查: 解决->无法访问 阿里云服务器的tcp端口 1 配置官网的安全组…

【angular教程240107】04 Dom及表单双向数据绑定,ToDoList+service 服务+实现数据的持久化

05 Angular中Dom操作 以及表单( input、checkbox、radio、select、 textarea )结合双休数据绑定实现在线预约功能 0快捷键 输入法快速切换 :shitf alt 半角 全角 ctrl空格 Angular表单 Dom获取表单值 以及双向数据绑定 1. Angular表单 D…

c++学习笔记-STL案例-演讲比赛管理系统2

目录 功能介绍 代码结构部分 查看一下类图 1.Speaker.h 2.speechManager.h 3.speechManager.cpp 4.演讲比赛流程关系系统.cpp 功能介绍 speechManager.h函数包含演讲比赛流程的所有功能如下: 开始演讲比赛:完成整届比赛的流程,每…

数据结构.线性表(2)

一、模板 例子: a: b: 二、基本操作的实现 (1)初始化 (2)销毁和清空 (3)求长度和判断是否为空 (4)取值 (5)查找 (6)插入 &…

【期末考试】数据库综合复习宝典

目录 第一章 数据库系统概述 第二章 关系代数 第四章 关系数据库理论 第五章 数据库设计 第六章 数据库管理系统 第八章 事务管理 第一章 数据库系统概述 1.1三级模式 ①外模式:它为特定的应用程序或用户群体提供了一个数据视图,这个视图是独立于…

Maven和MyBatis框架简单实现数据库交互

MyBatis是一种基于Java语言的持久层框架,它的主要目的是简化与数据库的交互过程。MyBatis通过XML或注解配置来映射Java对象和数据库表之间的关系,并提供了灵活的查询方式和结果集处理机制。MyBatis还提供了事务管理、缓存机制、插件扩展等特性。 使用My…

Maven编译时,如何忽略swagger注解

public class School implements Serializable {private static final long serialVersionUID 1595261592489L;ApiModelProperty(value "主键")private Long id;ApiModelProperty(value "学校名称")private String name;ApiModelProperty(value "…

Linux学习记录——사십 高级IO(1)

文章目录 1、IO2、同、异步IO(5种IO类型)3、其它高级IO4、非阻塞IO 其它IO类型的实现在这篇之后的三篇 1、IO input,output。调用read或recv接口时,如果对方长时间不向我方接收缓冲区拷贝数据,我们的进程就只能阻塞&a…

python桶排序

桶排序是一种分布式排序算法,它将待排序的元素分散到不同的桶中,然后对每个桶中的元素进行排序,最后按照桶的顺序将所有元素合并起来。 桶排序的基本思想是将待排序的元素分散到若干个有序的桶中,然后对每个桶中的元素进行排序&a…

SpringBoot 操作Redis

Redis的Java客户端 Redis的Java客户端常用的有: JedisLettuceSpring Data Redis Spring Data Redis是Spring的一部分,对Redis底层开发包进行了高度封装。在Spring项目中,可以使用Spring Data Redis来简化操作。 Spring Data Redis使用方式…

基于面向对象,C++实现双链表

双链表同单链表类似,由一个值和两个指针组成 Node.h节点头文件 #pragma once class Node { public:int value;Node* prev;Node* next;Node(int value);~Node(); };Node.cpp节点源文件 #include "Node.h"Node::Node(int value) {this->value value…

如何开启文件共享及其他设备如何获取

1.场景分析 日常生活中,常常会遇到多台电脑共同办公文件却不能共享的问题,频繁的用移动硬盘、U盘等拷贝很是繁琐,鉴于此,可以在同一内网环境下设置共享文件夹,减少不必要的文件拷贝工作,提升工作效率。废话…

希尔排序和计数排序

📑前言 本文主要是【排序】——希尔排序、计数排序的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句…

Jmeter 压测接口返回大量数据时吞吐量上不去问题记录

1. 背景介绍 近期需要对外部提供一个批量查询接口,接口逻辑并不复杂,只是返回的数据有点多。分页查询,最大查询100个单子,分页单页最大值没有限制,那么,极端情况下,就是一次查询100个单…