HarmonOS 日期选择组件(DatePicker)

news2024/12/23 7:05:03

本文 我们一起来看基础组件中的
DatePicker
这就是 日程开发中的日期组件
他可以创建一个日期的范围 并创建一个日期的滑动选择器
这里 我们先写一个组件的骨架

@Entry
@Component
struct Index {

  build() {
    Row() {
      Column() {
        
      }
      .width('100%')
    }
    .height('100%')
  }
}

然后 我们先在Column组件下写一个

DatePicker()

就会出现这样一个日期选择组件
我们也可以对它进行一个上下滑动
在这里插入图片描述
但这里有个问题
我们组件上的日期是 2024 1 31
在这里插入图片描述
但我现在的时间是 2024 1 8
在这里插入图片描述
这个问题 官方回应是修复了 但可能 我们的版本不对 这是一个官方认可的BUG

但可以给个默认时间 我们鼠标贴到组件上 出现提示后 进入API文档
在这里插入图片描述
根据文档描述 这个组件有三个参数

start 开始时间 默认值 Date(‘1970-1-1’)
end 结束时间 默认值 Date(‘2100-12-31’)
selected 默认选中的时间 默认值说是系统当前日期 但我们刚才也看了 这个是有问题的
在这里插入图片描述
然后 往下拉 有一个 lunar 类型 boolean
如果是 true 表示用农历 false 表示用阳历
在这里插入图片描述
我们可以直接这样

@Entry
@Component
struct Index {

  @State tiwe:Date = new Date("2024-01-08");

  build() {
    Row() {
      Column() {
          DatePicker({
            start: new Date("2023-12-01"),
            end: new Date("2025-01-03"),
            selected: this.tiwe
          }).lunar(false)
      }
      .width('100%')
    }
    .height('100%')
  }
}

直接创建一个 @State 修饰的 date时间类型数据 通过 new Date函数来讲字符串转为正规时间格式
然后作为 selected值 就是默认选中的时间 然后设置了 start 最早可以选择到 2023-12-01 end 最晚可以选择到 2025-01-03

运行结果如下
在这里插入图片描述
这里告诉大家一个很奇葩的事 start end selected 只要你有一个没设置 其他的就都不会生效
希望官方早点修复

然后 我们可以通过 lunar 控制他是 用阳历还是农历 例如 我们这里改成 true 用农历的
在这里插入图片描述
然后 我们可以通过 onChange 监听时间改变 并输出改变的值

DatePicker({
	start: new Date("2023-12-01"),
	end: new Date("2025-01-03"),
	selected: this.tiwe
})
.lunar(false)
.onChange((value:object)=> {
    console.log(JSON.stringify(value));
})

onChange的参数 是一个JSON对象 我们通过 js的JSON.stringify将它转字符串
此时 我们拖动修改时间 就会输出
在这里插入图片描述
但这里 值得一提的是 不要想什么响应式 HarmonyOS 的表单是没有双向绑定的 也就是说 DatePicker的选项时间改变了 绑定给selected的响应式数据是不会改变的 你要想办法 通过这个json赋值给 selected绑定的属性

这里可以提示大家 你在js中可以用的属性方法 基本上 ArkTS中也都有提供的

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

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

相关文章

聚道云软件连接器助力某贸易公司实现付款流程自动化

客户介绍: 某贸易公司是一家集进出口贸易、国内贸易、电子商务等业务于一体的综合性贸易企业。公司业务遍及全球多个国家和地区,拥有庞大的供应商网络和采购需求。 添加图片注释,不超过 140 字(可选) 客户痛点&#…

OpenVoice实时语音克隆功能实现

前言 在【OpenVoice本地部署教程与踩坑记录】一文中介绍了OpenVoice的基本概念与,并且完成了项目的安装与运行。官方给的示例和用法中仅包含了文本转TTS再克隆音色的功能,仅能用于TTS场景下的文字朗读。 本文基于官方示例改造,实现了实时采集…

公司新买的BI,和金蝶系统配合太默契了

公司一直都用金蝶系统来实现包括财务管理、供应链管理、人力资源管理等多个方面的资源的合理配置和业务流程的自动化。但到了数据分析这块,金蝶系统就明显力不从心,需要一个专业的数据分析工具来接手。财务经理推荐用奥威BI,说这款BI的一大特…

Windows内存管理(一):Windows性能监视器(PerfMon)

一、什么是性能监视器 什么是性能监视器? (What is Performance Monitor? )很多时候,我们的计算机只是停止响应、意外关闭或行为异常。这种行为可能有多种原因,指出确切原因可能会有很大帮助。Windows有一个名为Performance Monitor的工具&…

Python——数据类型转换

# 将数字类型转换成字符串 num_str str(111) print(type(num_str), num_str) \# 将浮点类型转换成字符串 float_str str(12.34) print(type(float_str), float_str) # 将字符串转变成数字 num int("234") print(type(num)) # 将字符串转变成浮点型 num2 float(&q…

(已解决)踩坑spring-session-data-redis包出现sessionId不一致问题

问题:今天在使用spring-session-data-redis的jar包时,出现了本地使用时sessionId是一致的,线上使用的时候sessionid是不一致的。 在网上查了半天资料,知道是其中这个包 DefaultCookieSerializer 出现了问题,但是里面的…

基于Listener实现在线人数监测的简单案例

一、需求 只要有用户登录到服务器,就记录在线用户1。 二、使用到的Listner介绍 1、HttpSessionListener 监听器 当一个HttpSession刚被创建或者失效(invalidate)的时候,将会通知HttpSessionListener监听器。 方法声明功能介绍v…

Vscode设置git账户密码(不需要每次都输入)

在Vscode提交项目代码或者拉取代码的时候,如果每次都需要输入git的账户密码,那么就在终端输入: git config --global credential.helper store 命令 然后执行git pull 提示输入用户密码后,就会缓存; ※注:如…

没有货源是不是就没办法在家做抖店?打包发货怎么完成?解答如下

我是王路飞。 有人问了我一个问题:无货源模式的抖店,自己一个人在家里做不了是吧?毕竟打包发货这些问题怎么解决呢? 店铺要是发货不及时被平台罚款怎么办?产品有质量问题怎么解决呢?店铺一直不出单怎么办…

Unity中URP下深度图的线性转化

文章目录 前言一、_ZBufferParams参数有两组值二、LinearEyeDepth1、使用2、Unity源码推导:3、使用矩阵推导: 三、Linear01Depth1、使用2、Unity源码推导3、数学推导: 前言 在之前的文章中,我们实现了对深度图的使用。因为&#…

阿里云弹性网络接口技术的容器网络基础教程

基于容器的虚拟化是一种虚拟化技术。与虚拟机 (VM) 相比,容器更轻量级,部署更方便。Docker是目前主流的容器引擎,支持Linux、Windows等平台,以及Kubernetes(K8S)、Swarm、Rocket&…

奇偶链表00

题目链接 奇偶链表 题目描述 注意点 在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题偶数组和奇数组内部的相对顺序应该与输入时保持一致 解答思路 奇数组的头节点是head,偶数组的头节点是head.next,关键是要改变每个节点的next指针及…

[ArkUI开发技巧] 应用的全屏式沉浸适配

引言 在开发应用的过程中,为了使用户聚焦在应用本身,最好对应用进行沉浸适配。先前有一种适配方法,将SystemBarProperties设置成应用页面顶部和底部的颜色,但是这种方法在切换页面的过程中过渡十分僵硬,且应用在小窗模…

数据结构实验3:顺序表的基本操作

目录 一、实验目的 二、实验原理 1. 连续存储空间 2. 元素访问 3. 固定大小 4. 容量管理 5. 动态顺序表 6. 顺序表的插入 7. 顺序表的删除 8. 顺序表的应用 三、实验内容 问题描述 代码 截图 分析 一、实验目的 1、 熟练掌握顺序表结构体的实现。 2、 熟练掌握…

记录汇川:ITP与Autoshop进行仿真连接

1、定义如下程序: 2、ITP新建工程: 3、依次选择,最后修改IP 4、定义两个变量 5、拖一个按钮和一个圈出来,地址绑定:M1 6、地址绑定:Y1 7、PLC启动仿真 8、ITP启动在线模拟器 9、即可实现模拟仿真

Redis 配置(二)

目录 redis 配置 Redis 主从复制 主从复制的作用 主从复制流程 搭建Redis 主从复制 Redis 哨兵模式 哨兵模式的作用 哨兵结构 故障转移机制 主节点的选举 搭建Redis 哨兵模式 Redis 群集模式 集群的作用 Redis集群的数据分片 Redis集群的主从复制模型 搭建R…

拓数派加入 OpenCloudOS 操作系统开源社区,作为成员单位参与社区共建

近日,拓数派签署 CLA(Contributor License Agreement 贡献者许可协议),正式加入 OpenCloudOS 操作系统开源社区。 拓数派(英文名称“OpenPie”)是国内基础数据计算领域的高科技创新企业。作为国内云上数据库和数据计算领域的引领者…

CentOS7部署GitLab-ce-16.7.0-ce.0.el7

文章目录 下载地址上传服务器安装访问配置external_url修改防火墙端口开放 重新加载配置访问GitLab出现502访问错误继续访问gitlab账户和密码修改GitLab常用命令 下载地址 gitlab 下载地址 上传服务器 scp -r C:\Users\xxx.xxxx\Downloads\gitlab-ce-16.7.0-ce.0.el7.x86_64…

黑马苍穹外卖学习Day3

目录 公共字段自动填充问题分析实现思路代码实现 新增菜品需求分析和设计接口设计代码开发开发文件上传接口功能开发 菜品分页查询需求分析和设计代码开发 菜品删除功能需求分析与设计代码实现代码优化 修改菜品需求分析和设计代码实现 公共字段自动填充 问题分析 员工表和分…

因为相信,所以简单,因为简单,所以坚持

因为相信,所以简单;因为简单,所以坚持。今天,我有幸受邀参加了九龙珠集团2023年以《蓄力生长》为主题的年会。在这里,我深刻感受到这两句话不仅是九龙珠集团成长的缩影,也是其不断前进的动力。在企业的经营…