1# CalendarPicker 2 3日历选择器组件,提供下拉日历弹窗,可以让用户选择日期。 4 5> **说明:** 6> 7> 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9 10## 子组件 11 12无 13 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 87