• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# CalendarPicker
2
3日历选择器组件,提供下拉日历弹窗,可以让用户选择日期。
4
5>  **说明:**
6>
7>  该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9
10## 子组件
11
1213
14## 接口
15
16CalendarPicker(options?: CalendarOptions)
17
18日历选择器。
19
20**系统能力:** SystemCapability.ArkUI.ArkUI.Full
21
22**参数:**
23
24| 参数名  | 类型                                        | 必填 | 描述                       |
25| ------- | ------------------------------------------- | ---- | -------------------------- |
26| options | [CalendarOptions](#calendaroptions对象说明) | 否   | 配置日历选择器组件的参数。 |
27
28## 属性
29
30除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性:
31
32| 名称          | 参数类型           | 描述                                |
33| ----------- | ----------- | --------------------------------- |
34| edgeAlign | alignType: [CalendarAlign](#calendaralign枚举说明),offset?: [Offset](ts-types.md#offset) | 设置选择器与入口组件的对齐方式。<br/>-alignType: 对齐方式类型。<br/>默认值:CalendarAlign .END。<br/>-offset: 按照对齐类型对齐后,选择器相对入口组件的偏移量。<br/>默认值:{dx: 0, dy: 0}。 |
35| textStyle | [PickerTextStyle](./ts-basic-components-datepicker.md#pickertextstyle10类型说明) | 设置入口区的文本颜色、字号、字体粗细。                       |
36## 事件
37
38除支持[通用事件](ts-universal-events-click.md),还支持以下事件:
39
40| 名称                                      | 功能描述               |
41| ----------------------------------------- | ---------------------- |
42| onChange(callback: (value: Date) => void) | 选择日期时触发该事件。<br/>value:选中的日期值 |
43
44##  CalendarOptions对象说明
45
46| 名称      | 类型       | 必填        | 说明                            |
47| ----------- | ---------- | ------| --------------------------------- |
48| hintRadius | number \| [Resource](ts-types.md#resource) | 否    | 描述日期选中态底板样式。<br/>默认值:底板样式为圆形。<br />**说明:**<br />hintRadius为0,底板样式为直角矩形。hintRadius为0 ~ 16,底板样式为圆角矩形。hintRadius>=16,底板样式为圆形 |
49| selected | Date | 否    | 设置选中项的日期。选中的日期未设置或日期格式不符合规范则为默认值。<br/>默认值:当前系统日期。 |
50
51## CalendarAlign枚举说明
52
53从API version 9开始,该接口支持在ArkTS卡片中使用。
54
55| 名称   | 描述                     |
56| ------ | ------------------------ |
57| START  | 设置选择器与入口组件左对齐的对齐方式。   |
58| CENTER | 设置选择器与入口组件居中对齐的对齐方式。 |
59| END    | 设置选择器与入口组件右对齐的对齐方式。   |
60
61## 示例
62
63```ts
64// xxx.ets
65@Entry
66@Component
67struct CalendarPickerExample {
68  private selectedDate: Date = new Date()
69  build() {
70    Column() {
71      Text('月历日期选择器').fontSize(30)
72      Column() {
73        CalendarPicker({ hintRadius: 10, selected: this.selectedDate })
74          .edgeAlign(CalendarAlign.END)
75          .textStyle({ color: "#ff182431", font: { size: 20, weight: FontWeight.Normal } })
76          .margin(10)
77          .onChange((value) => {
78            console.info("CalendarPicker onChange:" + JSON.stringify(value))
79          })
80      }.alignItems(HorizontalAlign.End).width("100%")
81    }.width('100%').margin({top:350})
82  }
83}
84```
85
86![CalendarPicker](figures/CalendarPicker.gif)
87