鸿蒙5.0开发进阶:UI框架-ArkTS组件(CalendarPicker)

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


CalendarPicker

日历选择器组件,提供下拉日历弹窗,可以让用户选择日期。

说明

该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

CalendarPicker(options?: CalendarOptions)

日历选择器。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

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

参数:

参数名类型必填说明
optionsCalendarOptions配置日历选择器组件的参数。

属性

除支持通用属性外,还支持以下属性:

edgeAlign

edgeAlign(alignType: CalendarAlign, offset?: Offset)

设置选择器与入口组件的对齐方式。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

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

参数:

参数名类型必填说明
alignTypeCalendarAlign

对齐方式类型。

默认值:CalendarAlign .END

offsetOffset

按照对齐类型对齐后,选择器相对入口组件的偏移量。

默认值:{dx: 0, dy: 0}

textStyle

textStyle(value: PickerTextStyle)

入口区的文本颜色、字号、字体粗细。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

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

参数:

参数名类型必填说明
valuePickerTextStyle

设置入口区的文本颜色、字号、字体粗细。

默认值:

{

color: '#ff182431',

font: {

size: '16fp',

weight: FontWeight.Regular

}

}

事件

除支持通用事件,还支持以下事件:

onChange

onChange(callback: (value: Date) => void)

选择日期时触发该事件。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

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

参数:

参数名类型必填说明
valueDate选中的日期值。

CalendarOptions对象说明

元服务API: 从API version 11开始,该接口支持在元服务中使用。

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

名称类型必填说明
hintRadiusnumber | Resource

描述日期选中态底板样式。

默认值:底板样式为圆形。

说明:

hintRadius为0,底板样式为直角矩形。hintRadius为0 ~ 16,底板样式为圆角矩形。hintRadius>=16,底板样式为圆形

selectedDate

设置选中项的日期。选中的日期未设置或日期格式不符合规范则为默认值。

默认值:当前系统日期。

CalendarAlign枚举说明

元服务API: 从API version 11开始,该接口支持在元服务中使用。

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

名称描述
START设置选择器与入口组件左对齐的对齐方式。
CENTER设置选择器与入口组件居中对齐的对齐方式。
END设置选择器与入口组件右对齐的对齐方式。

示例

该示例实现了日历选择器组件,提供下拉日历弹窗。

// xxx.ets
@Entry
@Component
struct CalendarPickerExample {
  private selectedDate: Date = new Date('2024-03-05')

  build() {
    Column() {
      Text('月历日期选择器').fontSize(30)
      Column() {
        CalendarPicker({ hintRadius: 10, selected: this.selectedDate })
          .edgeAlign(CalendarAlign.END)
          .textStyle({ color: "#ff182431", font: { size: 20, weight: FontWeight.Normal } })
          .margin(10)
          .onChange((value) => {
            console.info("CalendarPicker onChange:" + JSON.stringify(value))
          })
      }.alignItems(HorizontalAlign.End).width("100%")
    }.width('100%').margin({ top: 350 })
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值