鸿蒙(HarmonyOS)自定义Dialog实现时间选择控件

一、操作环境

操作系统:  Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0(API 9)

二、效果图

三、代码

SelectedDateDialog.ets文件
/*** 时间选择*/
@CustomDialog
export struct SelectedDateDialog {@State selectedDate: Date = new Date()private callback: (value: DatePickerResult) => void@State value: DatePickerResult = {year: new Date().getFullYear(),month: new Date().getMonth(),day: parseInt(new Date().getDate().toString().padStart(2, '0')) }controller: CustomDialogController//自定义dialog必须声明aboutToAppear() {console.log("时间选择Loading展示》》》》》")}build() {Column() {DatePicker({start: new Date('2014-1-1'), //起始时间end: new Date('2030-1-1'), //结束时间selected: this.selectedDate, //默认所选时间}).margin({ top: 20 }).lunar(false) //日期是否显示农历。 - true:展示农历。 - false:不展示农历。 默认值:false.onChange(value => {console.log("轮换结果:" + value)this.value = value})Blank()Button('确定').borderRadius('3').width('30%').margin({ bottom: 20 }).onClick((event: ClickEvent) => {console.log("时间:" + this.value.year + this.value.month + this.value.day)this.callback?.(this.value)this.controller.close()})}.width('100%').height('50%')}
}

在page中的调用方式:

selectTimeDialog: CustomDialogController = new CustomDialogController({builder: SelectedDateDialog({ callback: (value) => {console.log("选择结果:" + value.year)this.changeTime = value.year + "-" + (value.month + 1) + "-" + value.day//月份从0开始,故需+1} }),cancel: this.closeDialog, //点击空白区域回调autoCancel: true,alignment: DialogAlignment.Bottom,offset: { dx: 0, dy: -20 },gridCount: 4,customStyle: false})closeDialog() {console.info('Click the callback in the blank area')this.selectTimeDialog.close()}openDialog() {//点击事件中直接调用this.selectTimeDialog.open()}

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

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

相关文章

声学气膜馆的优势:卓越声学性能与多样化应用—轻空间

随着科技的发展和人们对音质要求的提高,声学气膜馆逐渐成为现代建筑中的重要组成部分。声学气膜馆不仅在设计和声学性能上有显著优势,还在提高场馆舒适度、增加活动多样性以及带来经济效益方面表现突出。 提升声学环境质量 声学气膜馆通过利用先进的声学…

未来GenAI 怎样逐步改变搜索?

欢迎来到雲闪世界。人工智能的进步正在将传统搜索引擎转变为应答机。这一转变是由网络搜索领域的新老参与者共同推动的,并正在影响世界各地人们获取信息的方式。 谁是基于 GenAI 的搜索的主要参与者?他们如何提出解决方案?这对用户有何影响&a…

18万就能买华为智驾车,你当不了韭菜!

文 | AUTO芯球 作者 | 雷慢 万万没想到啊, 把智能驾驶汽车价格打到最低的, 居然是智驾实力最强的华为, 这你敢信吗 就现在,17.99万就能买华为智驾的车了, 它就是长安和华为合作的首个车型, 深蓝S07…

【Spring Boot教程:从入门到精通】掌握Spring Boot开发技巧与窍门(三)-配置git环境和项目创建

主要介绍了如何创建一个Springboot项目以及运行Springboot项目访问内部的html页面!!! 文章目录 前言 配置git环境 创建项目 ​编辑 在SpringBoot中解决跨域问题 配置Vue 安装Nodejs 安装vue/cli 启动vue自带的图形化项目管理界面 总结 前言 …

十日Python项目——第四日(用户中心—收货地址)

#前言: 在最近十天我会用Python做一个购物类项目,会用到DjangoMysqlRedisVue等。 今天是第四天,主要负责撰写用户中心部分的收货地址部分。若是有不懂大家可以先阅读我的前三篇博客以能够顺承。 若是大家基础有不懂的,小编前面…

01、爬虫学习入门

爬虫:通过编写程序,来获取获取互联网上的资源 需求:用程序模拟浏览器,输入一个网址,从该网址获取到资源或内容 一、入门程序 #使用urlopen来进行爬取 from urllib.request import urlopen url "http://www.ba…

我们的网站被狗爬了!

大家好,我是程序员鱼皮。 世风日下,人心不古。我们的程序员面试刷题网站 《面试鸭》 才刚刚上线了一个多月,就由于过于火爆,被不少同行和小人发起网络攻击。 而且因为我们已经有 4500 多道人工整理的企业高频面试题、100 多个各…

【JavaScript】函数的动态传参

Javacript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言&…

第六周:机器学习周报

机器学习周报 摘要Abstract机器学习——类神经网络训练不起来怎么办?1. 自动调整学习率(learning rate)1.1 特制化的Learning Rate——parameter dependent1.1.1 Root Mean Square(RMS,均方根)1.1.2 RMSPro…

Qt Creator使用git管理代码

1.在GitHub中新建仓库,设置好仓库名后,其它的设置默认即可。 2.打开git bash,输入以下命令: git config --global user.name "xxxxx" #设置你的GitHub用户名 git config --global user.email "xxxxxxxxx.…

DMB,DSB,ISB三个指令区别

此部分说明三个指令的具体区别(在指令流水线上说明),这三个指令主要目的在于确保程序在多处理器环境下的稳定性和一致性,避免由于指令乱序和内存操作重排引起的不可预测行为 一个简化的流水线,包含以下阶段&#xff1…

[Docker][Docker Registry]详细讲解

目录 1.什么是Docker Registry?2.镜像源配置3.镜像仓库命令1.命令清单2.docker login2.docker pull3.docker push4.docker search5.docker logout 1.什么是Docker Registry? 镜像仓库(Docker Registry) 功能:负责存储、管理和分发镜像&#x…

腾讯云网站/域名备案操作流程

目录 一、备案服务授权二、备案 一、备案服务授权 二、备案 在“我的备案”页面,点击【去备案】: 点击【新增备案】: 点击【同意并继续】: 选择省份,点击【开始备案】: 输入备案相关信息后点击【提交】…

vue给数组对象赋值改变对象里面的数据,数据没有更新this.$set

替换数组startTime的值: 原数据 this.serviceTimeList.push({serviceTimeName: 服务时间段,startTime: this.startTime,endTime: this.endTime,currentDateStart: this.currentDate,currentDateEnd: this.currentDate}) this.$set(this.array, index, newValue); …

笑谈“八股文”,人生不成文

一、“八股文”在实际工作中是助力、阻力还是空谈? 作为现在各类大中小企业面试程序员时的必问内容,“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢?有IT人士不禁发出疑问:程序员面试…

计算机系统操作系统简介

目录 1.计算机系统简介 1.1组成结构 1.2系统软件 1.3冯诺依曼计算机特点 1.4硬件构架 2.硬件的进一步认识 2.1存储器 2.2输入设备 2.3输出设备 2.4CPU组成 2.5线的概念引入 3.操作系统 3.1操作系统简介 3.2操作系统如何管理 3.3库函数和系统调用 1.计算机系统简介…

Linux shell编程学习笔记67: tracepath命令 追踪数据包的路由信息

0 前言 网络信息是电脑网络信息安全检查中的一块重要内容,Linux和基于Linux的操作系统,提供了很多的网络命令,今天我们研究tracepath命令。 Tracepath 在大多数 Linux 发行版中都是可用的。如果在你的系统中没有预装,请根据你的…

一下午连续故障两次,谁把我们接口堵死了?!

唉。。。 大家好,我是程序员鱼皮。又来跟着鱼皮学习线上事故的处理经验了喔! 事故现场 周一下午,我们的 编程导航网站 连续出现了两次故障,每次持续半小时左右,现象是用户无法正常加载网站,一直转圈圈。 …

android前台服务

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 目录 一、导读二、使用2.1 添加权限2.2 新建…

基于SpringBoot+Vue的档案管理系统(带1w+文档)

基于SpringBootVue的档案管理系统(带1w文档) 基于SpringBootVue的档案管理系统(带1w文档) 随着信息化的不断发展,科技的进步也越来越大。软件编程是一个不断发展的行业,每个行业都必须进行适合自身特点的系统开发,才能在机构中生存和发展。当…