diff --git a/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md b/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md index f4a45159e2b01cf245ee67fd869d4eae8708ec14..8effb261f1af12ce02ac64d4b93f7412dcc99041 100644 --- a/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md +++ b/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md @@ -66,6 +66,7 @@ - [AlphabetIndexer](ts-container-alphabet-indexer.md) - [Blank](ts-basic-components-blank.md) - [Button](ts-basic-components-button.md) + - [CalendarPicker](ts-basic-components-calendarpicker.md) - [Checkbox](ts-basic-components-checkbox.md) - [CheckboxGroup](ts-basic-components-checkboxgroup.md) - [DataPanel](ts-basic-components-datapanel.md) @@ -179,6 +180,7 @@ - [警告弹窗](ts-methods-alert-dialog-box.md) - [列表选择弹窗](ts-methods-action-sheet.md) - [自定义弹窗](ts-methods-custom-dialog-box.md) + - [日历选择器弹窗](ts-methods-calendarpicker-dialog.md) - [日期滑动选择器弹窗](ts-methods-datepicker-dialog.md) - [时间滑动选择器弹窗](ts-methods-timepicker-dialog.md) - [文本滑动选择器弹窗](ts-methods-textpicker-dialog.md) diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/CalendarPicker.gif b/zh-cn/application-dev/reference/arkui-ts/figures/CalendarPicker.gif new file mode 100644 index 0000000000000000000000000000000000000000..3066791cedd307ae70c8c23429e9750bec4691f1 Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/CalendarPicker.gif differ diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/CalendarPickerDialog.gif b/zh-cn/application-dev/reference/arkui-ts/figures/CalendarPickerDialog.gif new file mode 100644 index 0000000000000000000000000000000000000000..0428791bad5b6034cb488804a0a1a50ccab46cf9 Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/CalendarPickerDialog.gif differ diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-calendarpicker.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-calendarpicker.md new file mode 100644 index 0000000000000000000000000000000000000000..d8831273d4e3a00d94411afc00c6ce9bb301682c --- /dev/null +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-calendarpicker.md @@ -0,0 +1,76 @@ +# CalendarPicker + +日历选择器组件,提供下拉日历弹窗,可以让用户选择日期。 + +> **说明:** +> +> 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 + + +## 子组件 + +无 + +## 接口 + +CalendarPicker(options?: CalendarOptions) + +## 属性 + +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| ----------- | ----------- | --------------------------------- | +| edgeAlign | alignType: [CalendarAlign](#calendaralign枚举说明),offset?: [Offset](ts-types.md#offset) | 设置选择器与入口组件的对齐方式。
-alignType: 对齐方式类型。
默认值:CalendarAlign .END。
-offset: 按照对齐类型对齐后,选择器相对入口组件的偏移量。
默认值:{dx: 0, dy: 0}。 | +| textStyle | [PickerTextStyle](./ts-basic-components-datepicker.md#pickertextstyle10类型说明) | 设置入口区的文本颜色、字号、字体粗细。 | +## 事件 + +除支持[通用事件](ts-universal-events-click.md),还支持以下事件: + +| 名称 | 功能描述 | +| ----------------------------------------- | ---------------------- | +| onChange(callback: (value: Date) => void) | 选择日期时触发该事件。
value:选中的日期值 | + +## CalendarOptions对象说明 + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ----------- | ---------- | ------| --------------------------------- | +| hintRadius | number \| [Resource](ts-types.md#resource) | 否 | 描述日期选中态底板样式。
默认值:底板样式为圆形。
**说明:**
hintRadius为0,底板样式为直角矩形。hintRadius为0 ~ 16,底板样式为圆角矩形。hintRadius>=16,底板样式为圆形 | +| selected | Date | 否 | 设置选中项的日期。
默认值:当前系统日期。
| + +## CalendarAlign枚举说明 + +从API version 9开始,该接口支持在ArkTS卡片中使用。 + +| 名称 | 描述 | +| ------ | ------------------------ | +| START | 设置选择器与入口组件左对齐的对齐方式。 | +| CENTER | 设置选择器与入口组件居中对齐的对齐方式。 | +| END | 设置选择器与入口组件右对齐的对齐方式。 | + +## 示例 + +```ts +// xxx.ets +@Entry +@Component +struct CalendarPickerExample { + private selectedDate: Date = new Date() + 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}) + } +} +``` + +![CalendarPicker](figures/CalendarPicker.gif) diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-components-summary.md b/zh-cn/application-dev/reference/arkui-ts/ts-components-summary.md index f16a41bafda788ca4e1d719bb0dfd9c175fb6583..08a0a7a0ea2e7b03fe11e055ba7b86c64168aee5 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-components-summary.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-components-summary.md @@ -119,6 +119,9 @@ - [CheckboxGroup](ts-basic-components-checkboxgroup.md) 多选框群组,用于控制多选框全选或者不全选状态。 +- [CalendarPicker](ts-basic-components-calendarpicker.md) + + 提供下拉日历弹窗,可以让用户选择日期。 - [DatePicker](ts-basic-components-datepicker.md) 选择日期的滑动选择器组件。 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-methods-calendarpicker-dialog.md b/zh-cn/application-dev/reference/arkui-ts/ts-methods-calendarpicker-dialog.md new file mode 100644 index 0000000000000000000000000000000000000000..5ac26e37d901c32746d0776ee9443d278468d84a --- /dev/null +++ b/zh-cn/application-dev/reference/arkui-ts/ts-methods-calendarpicker-dialog.md @@ -0,0 +1,59 @@ +# 日历选择器弹窗 + +点击日期弹出日历选择器弹窗,可选择弹窗内任意日期。 + +> **说明:** +> +> 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 +> +> 本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见[UIContext](../apis/js-apis-arkui-UIContext.md#uicontext)说明。 + +## CalendarPickerDialog.show + +show(options?: [CalendarDialogOptions](#calendardialogoptions)) + +定义日历选择器弹窗并弹出。 + +## CalendarDialogOptions + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ---------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | +| selected | Date | 否 | 设置当前选中的日期。 默认值:当前系统日期 | +| hintRadius | number \|[Resource](ts-types.md#resource) | 否 | 描述日期选中态底板样式。
默认值:底板样式为圆形。
**说明:**
hintRadius为0,底板样式为直角矩形。hintRadius为0 ~ 16,底板样式为圆角矩形。hintRadius>=16,底板样式为圆形 | +| onAccept | (value: Date) => void | 否 | 点击弹窗中的“确定”按钮时触发该回调。
value:选中的日期值 | +| onCancel | () => void | 否 | 点击弹窗中的“取消”按钮时触发该回调。 | +| onChange | (value: Date) => void | 否 | 选择弹窗中日期使当前选中项改变时触发该回调。
value:选中的日期值 | + +## 示例 + +```ts +// xxx.ets +@Entry +@Component +struct CalendarPickerDialogExample { + private selectedDate: Date = new Date() + 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)) + } + }) + }) + }.width('100%') + } +} +``` + +![CalendarPickerDialog](figures/CalendarPickerDialog.gif) diff --git a/zh-cn/application-dev/website.md b/zh-cn/application-dev/website.md index dd2316adb64dffdec62e30fa3a82bc09a1a1827b..e0a5b00166d8ab82fa2a9033e22764c6fb9d350b 100644 --- a/zh-cn/application-dev/website.md +++ b/zh-cn/application-dev/website.md @@ -1349,6 +1349,7 @@ - [AlphabetIndexer](reference/arkui-ts/ts-container-alphabet-indexer.md) - [Blank](reference/arkui-ts/ts-basic-components-blank.md) - [Button](reference/arkui-ts/ts-basic-components-button.md) + - [CalendarPicker](reference/arkui-ts/ts-basic-components-calendarpicker.md) - [Checkbox](reference/arkui-ts/ts-basic-components-checkbox.md) - [CheckboxGroup](reference/arkui-ts/ts-basic-components-checkboxgroup.md) - [DataPanel](reference/arkui-ts/ts-basic-components-datapanel.md) @@ -1462,6 +1463,7 @@ - [警告弹窗](reference/arkui-ts/ts-methods-alert-dialog-box.md) - [列表选择弹窗](reference/arkui-ts/ts-methods-action-sheet.md) - [自定义弹窗](reference/arkui-ts/ts-methods-custom-dialog-box.md) + - [日历选择器弹窗](reference/arkui-ts/ts-methods-calendarpicker-dialog.md) - [日期滑动选择器弹窗](reference/arkui-ts/ts-methods-datepicker-dialog.md) - [时间滑动选择器弹窗](reference/arkui-ts/ts-methods-timepicker-dialog.md) - [文本滑动选择器弹窗](reference/arkui-ts/ts-methods-textpicker-dialog.md)