鸿蒙UI开发——日历选择器
1、概 述
在项目开发中,我们时常会用到日历选择器,效果如下:

ArkUI已经为我们提供了组件,我们可以直接使用,下面针对日历组件做简单介绍。
2、CalendarPickerDialog
接口定义如下:
// 定义日历选择器弹窗并弹出。static show(options?: CalendarDialogOptions)
其中CalendarDialogOptions,是入参可选参数。属性定义如下:
| 名称 | 类型 | 说明 |
| onAccept | (value: Date) => void | 点击弹窗中的“确定”按钮时触发该回调。value:选中的日期值。 |
| onCancel | () => void | 点击弹窗中的“取消”按钮时触发该回调。 |
| onChange | (value: Date) => void | 选择弹窗中日期使当前选中项改变时触发该回调。value:选中的日期值。 |
| backgroundColor | ResourceColor | 弹窗背板颜色。默认值:Color.Transparent |
| backgroundBlurStyle | BlurStyle | 弹窗背板模糊材质。默认值:BlurStyle.COMPONENT_ULTRA_THICK |
| acceptButtonStyle | PickerDialogButtonStyle | 设置确认按钮显示样式、样式和重要程度、角色、背景色、圆角、文本颜色、字号、字体粗细、字体样式、字体列表、按钮是否默认响应Enter键。 |
| cancelButtonStyle | PickerDialogButtonStyle | 设置取消按钮显示样式、样式和重要程度、角色、背景色、圆角、文本颜色、字号、字体粗细、字体样式、字体列表、按钮是否默认响应Enter键。 |
| onDidAppear | () => void | 弹窗弹出时的事件回调。 |
| onDidDisappear | () => void | 弹窗消失时的事件回调。 |
| onWillAppear | () => void | 弹窗显示动效前的事件回调。 |
| onWillDisappear | () => void | 弹窗退出动效前的事件回调。 |
| shadow | ShadowOptions | ShadowStyle | 设置弹窗背板的阴影。当设备为2in1时,默认场景下获焦阴影值为ShadowStyle.OUTER_FLOATING_MD,失焦为ShadowStyle.OUTER_FLOATING_SM |
| hintRadius | number | Resource | 描述日期选中态底板样式。默认值:底板样式为圆形。说明:hintRadius为0,底板样式为直角矩形。hintRadius为0 ~ 16,底板样式为圆角矩形。hintRadius>=16,底板样式为圆形 |
| selected | Date | 设置选中项的日期。选中的日期未设置或日期格式不符合规范则为默认值。默认值:当前系统日期。 |
3、案 例
示例通过点击按钮弹出日历选择弹窗。效果如下:

代码如下:
// xxx.ets@Entry@Componentstruct CalendarPickerDialogExample {private selectedDate: Date = new Date('2024-04-23')build() {Column() {Button("Show CalendarPicker Dialog").margin(20).onClick(() => {console.info("CalendarDialog.show")CalendarPickerDialog.show({selected: this.selectedDate,onAccept: (value) => {console.info("calendar onAccept:" + JSON.stringify(value))},onCancel: () => {console.info("calendar onCancel")},onChange: (value) => {console.info("calendar onChange:" + JSON.stringify(value))},onDidAppear: () => {console.info("calendar onDidAppear")},onDidDisappear: () => {console.info("calendar onDidDisappear")},onWillAppear: () => {console.info("calendar onWillAppear")},onWillDisappear: () => {console.info("calendar onWillDisappear")}})})}.width('100%')}}
相关文章:
鸿蒙UI开发——日历选择器
1、概 述 在项目开发中,我们时常会用到日历选择器,效果如下: ArkUI已经为我们提供了组件,我们可以直接使用,下面针对日历组件做简单介绍。 2、CalendarPickerDialog 接口定义如下: // 定义日历选择器弹…...
2025-1-9 QT 使用 QXlsx库 读取 .xlsx 文件 —— 导入 QXlsx库以及读取 .xlsx 的源码 实践出真知,你我共勉
文章目录 1. 导入QXlsx库2. 使用 QXlsx库 读取 .xlsx 文件小结 网上有很多教程,但太费劲了,这里有个非常简便的好方法,分享给大家。 1. 导入QXlsx库 转载链接 :https://github.com/QtExcel/QXlsx/blob/master/HowToSetProject.md…...
React中createRoot函数原理解读——Element对象与Fiber对象、FiberRootNode与HostRootNode
【2024最新版】React18 核心源码分析教程(全61集) Element对象与Fiber对象 在 React 中,Element 对象 和 Fiber 对象 是核心概念,用于实现 React 的高效渲染和更新机制。以下是它们的详细解读: 1. Element 对象 定…...
利用Python实现Union-Find算法
Union-Find(又称 并查集)是一种高效解决 动态连通性问题 的算法。它主要提供两种操作: Union(x, y):将元素 x 和 y 连接。Find(x):找到元素 x 所属的集合的标识符(通常是集合的根节点)。 常用…...
【LeetCode: 912. 排序数组 + 归并排序】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
AI时代来了,我们不再需要IDE了
大家好,我是编程乐趣。 最近在思考一个问题,那就是AI这么强大。 未来有没有可能,我们就不需要不需要开发工具了,只需一个浏览器就可以开发软件了。 一、AI带来的变化 1、代码生成与补全 AI工具如GitHub Copilot等能够根据代码…...
PL/SQL语言的网络编程
PL/SQL语言的网络编程 引言 在信息化迅速发展的今天,网络编程作为现代软件开发的重要组成部分,受到了广泛关注。而在数据库管理系统中,Oracle 提供了 PL/SQL(Procedural Language/Structured Query Language)&#x…...
vue video重复视频 设置 srcObject 视频流不占用资源 减少资源浪费
// 直接设置srcObject减少获取视频流:通过 captureStream() 方法从下方视频元素获取视频流。 // 设置 srcObject:将获取到的视频流设置为上方视频的 srcObject 减少资源浪费 // 获取到需要复制到的dom元素 const firstVideoElement proxy.$refs.firs…...
JavaFx 21 项目Markdown 预览、编辑、新建、文件树、删除、重命名
项目文件结构 项目的源代码和资源文件存放在以下路径: 源代码: src/main/java/com/kong/markdown/ 包含多个 Java 文件,主要实现了应用的功能: App.java:主类,可能包含应用的启动逻辑。FileService.java:可能与文件操作相关的服务类。MainController.java:控制器类,可…...
git项目提交步骤(简洁版)
1.创建仓库 2.填写 信息 3.点击这个按钮 4.找到要上传的文件,在目录内右键点击 5.依次执行命令 在命令窗口中输入:git init 复制仓库地址: 在命令窗口中输入:git remote add origin 仓库地址 在命令窗口中输入:…...
风水算命系统架构与功能分析
系统架构 服务端:Java(最低JDK1.8,支持JDK11以及JDK17)数据库:MySQL数据库(标配5.7版本,支持MySQL8)ORM框架:Mybatis(集成通用tk-mapper,支持myb…...
Clojure语言的学习路线
Clojure语言的学习路线 Clojure是一种现代的Lisp方言,运行于Java虚拟机(JVM)上。它具备强大的函数式编程特性,支持并发和多线程编程,适合处理复杂的数据和计算任务。由于其简洁和灵活的语法,Clojure在数据…...
网络安全核心目标CIA
网络安全的核心目标是为关键资产提供机密性(Confidentiality)、可用性(Availablity)、完整性(Integrity)。作为安全基础架构中的主要的安全目标和宗旨,机密性、可用性、完整性频频出现,被简称为CIA,也被成为你AIC,只是顺序不同而已…...
Wi-Fi Direct (P2P)原理及功能介绍
目录 Wi-Fi Direct (P2P)介绍Wi-Fi Direct P2P 概述P2P-GO(P2P Group Owner)工作流程 wifi-Direct使用windows11 wifi-directOpenwrtwifi的concurrent mode Linux环境下的配置工具必联wifi芯片P2P支持REF Wi-Fi Direct ÿ…...
Perl语言的数据结构
Perl语言的数据结构 Perl是一种功能强大的、灵活的脚本语言,广泛用于文本处理、系统管理、网络编程以及许多其他领域。其灵活性不仅体现在语法上,还体现在其丰富的数据结构上。本文将深入探讨Perl的主要数据结构,包括标量、数组、哈希以及引…...
【MFC】设置CTreeCtrl单个节点的文字颜色
问题 功能调整需要依据不同状态设置树控件中单个节点的文字颜色。 分析 1、CTreeCtrl本身有设置文字颜色的接口SetTextColor,但是这个接口是设置树控件整体的文字颜色。 2、在自定义接口可以对树控件单个节点进行更新文字颜色和背景颜色,接收自定义绘制…...
【CSS】设置滚动条样式
文章目录 基本语法用法案例 基本语法 在CSS中,可以使用 ::-webkit-scrollbar 和相关伪元素来为滚动条设置样式,但请注意这些伪元素是非标准的,主要用于WebKit内核浏览器(如Chrome、Safari)。 ::-webkit-scrollbar CSS …...
Gitlab-Runner配置
原理 Gitlab-Runner是一个非常强大的CI/CD工具。它可以帮助我们自动化执行各种任务,如构建、测试和部署等。Gitlab-Runner和Gitlab通过API通信,接收作业并提交到执行队列,Gitlab-Runner从队列中获取作业,并允许在不同环境下进行作…...
代码随想录 哈希 test 8
18. 四数之和 - 力扣(LeetCode) 与三数之和类似,重点在剪枝和去重的区别,由于target可正可负,因此需要分两种情况讨论,如果target为正,则若当前选择的元素之和大于target,需要跳出这…...
[SAP ABAP] 使用LOOP AT...ASSIGNING FIELD-SYMBOL 直接更新内表数据
使用 LOOP AT...ASSIGNING FIELD-SYMBOL... 可以直接修改内表中的数据,而不需要先将内表数据复制到相应的工作区,然后再更新回内表中,从而提高性能 针对上述代码进行优化,我们使用LOOP AT...ASSIGNING FIELD-SYMBOL 直接更新内表数…...
抖音音频提取终极指南:5分钟掌握douyin-downloader免费工具
抖音音频提取终极指南:5分钟掌握douyin-downloader免费工具 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback …...
揭秘三角形分割魔术:为什么重新拼接后少了一块?数学视觉陷阱解析
揭秘三角形分割魔术:为什么重新拼接后少了一块?数学视觉陷阱解析 你是否曾在数学魔术表演中见过这样的场景:一个完整的三角形被分割成几块,重新拼接后竟然神秘地少了一小块面积?这种看似违背几何常识的现象,…...
FireRed-OCR Studio详细步骤:PDF截图→OCR→Markdown→Git版本管理全流程
FireRed-OCR Studio详细步骤:PDF截图→OCR→Markdown→Git版本管理全流程 1. 工具介绍与核心价值 FireRed-OCR Studio是一款基于Qwen3-VL多模态大模型开发的工业级文档解析工具。它能够将纸质文档、PDF截图等图像内容精准转换为结构化的Markdown格式,特…...
比迪丽LoRA模型对比实验:不同底模下的角色表现力差异
比迪丽LoRA模型对比实验:不同底模下的角色表现力差异 最近在玩Stable Diffusion的朋友,可能都绕不开一个话题:LoRA模型。它就像给AI绘画引擎加装的一个“风格包”或者“角色包”,能让生成的内容快速具备某种特定特征。但不知道你…...
别再死记硬背Verilog语法了!用这5个实战小例子,帮你快速理解模块、wire和reg
别再死记硬背Verilog语法了!用这5个实战小例子,帮你快速理解模块、wire和reg 学习Verilog最痛苦的事情莫过于面对一堆枯燥的语法规则却不知道它们在实际电路设计中有什么用。很多初学者会陷入死记硬背的泥潭,记住了"wire是连线…...
搜索关键词SEO优化需要多长时间才能看到效果_搜索关键词SEO优化需要多少预算投入
搜索关键词SEO优化需要多长时间才能看到效果_搜索关键词SEO优化需要多少预算投入 在当今互联网时代,搜索引擎优化(SEO)是每个网站和在线企业提升流量、吸引潜在客户的重要手段。许多人在进行SEO优化时常常会疑惑:“搜索关键词SEO…...
**向量数据库实战:用Python实现高效语义搜索与应用扩展**在当今人工智能飞速发展的背景下,**向量
向量数据库实战:用Python实现高效语义搜索与应用扩展 在当今人工智能飞速发展的背景下,向量数据库(Vector Database) 已成为构建智能应用的核心基础设施之一。它不仅能存储高维向量数据,还能快速进行近似最近邻&#…...
OpenClaw+千问3.5-35B-A3B-FP8:智能邮件分类回复系统
OpenClaw千问3.5-35B-A3B-FP8:智能邮件分类回复系统 1. 为什么需要自动化邮件处理 每天早晨打开邮箱,看到堆积如山的未读邮件时,那种窒息感我太熟悉了。作为技术从业者,我的邮箱常年被订阅的技术周报、开源项目更新、会议邀请函…...
Linux 的 df 命令
df (disk free) 命令是 Linux 系统中用于显示文件系统磁盘空间使用情况的常用工具。它可以报告文件系统的总容量、已用空间、可用空间以及挂载点等信息。 基本语法 df [选项] [文件或目录]常用选项 -h 或 --human-readable 以易读格式显示大小(KB, MB, GB…...
Linux下C程序编译过程详解与GCC工具链使用
1. 从源代码到可执行文件的旅程作为一名在Linux环境下工作多年的开发者,我经常需要深入理解程序从源代码到可执行文件的完整编译过程。这不仅有助于调试复杂问题,还能让我们在性能优化时做出更明智的决策。让我们以一个简单的"Hello World"程序…...
