diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-methods-timepicker-dialog.md b/zh-cn/application-dev/reference/arkui-ts/ts-methods-timepicker-dialog.md
index 494aabc0122e49cb4a09f9b8e67b0143db07013e..76ea01dc98ffc8ac952cba14b5192b8bebcc26da 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-methods-timepicker-dialog.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-methods-timepicker-dialog.md
@@ -1,8 +1,9 @@
# 时间滑动选择器弹窗
-默认以00:00至23:59的时间区间创建滑动选择器,展示在弹窗上。
+以24小时的时间区间创建时间滑动选择器,展示在弹窗上。
> **说明:**
+>
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## TimePickerDialog.show
@@ -11,79 +12,64 @@ show(options?: TimePickerDialogOptions)
定义时间滑动选择器弹窗并弹出。
-- options参数
+- TimePickerDialogOptions参数
+
| 参数名 | 参数类型 | 必填 | 参数描述 |
| -------- | -------- | -------- | -------- |
- | selected | Date | 否 | 设置选中项的时间。
默认值:当前系统时间 |
- | useMilitaryTime | boolean | 否 | 展示时间是否为24小时制。
默认值:false |
- | onAccept | (value: [TimePickerResult](ts-basic-components-timepicker.md#TimePickerResult对象说明)) => void | 否 | 点击弹窗中确定按钮时触发。 |
- | onCancel | () => void | 否 | 点击弹窗中取消按钮时触发。 |
- | onChange | (value: [TimePickerResult](ts-basic-components-timepicker.md#TimePickerResult对象说明)) => void | 否 | 滑动选择器,当前选择项改变时触发。 |
+ | selected | Date | 否 | 设置当前选中的时间。
默认值:当前系统时间 |
+ | useMilitaryTime | boolean | 否 | 展示时间是否为24小时制,默认为12小时制。
默认值:false |
+ | onAccept | (value: [TimePickerResult](ts-basic-components-timepicker.md#TimePickerResult对象说明)) => void | 否 | 点击弹窗中的“确定”按钮时触发该回调。 |
+ | onCancel | () => void | 否 | 点击弹窗中的“取消”按钮时触发该回调。 |
+ | onChange | (value: [TimePickerResult](ts-basic-components-timepicker.md#TimePickerResult对象说明)) => void | 否 | 滑动弹窗中的选择器使当前选中时间改变时触发该回调。 |
## 示例
-### 时间滑动选择器(24小时制)示例
```ts
// xxx.ets
@Entry
@Component
-struct TimePickerDialogExample01 {
- @State isUseMilitaryTime: boolean = true;
- private selectTime: Date = new Date('7/22/2022 12:45:00');
+struct TimePickerDialogExample {
+ private selectTime: Date = new Date('2020-12-25T08:30:00')
build() {
- Flex({direction: FlexDirection.Column, alignItems: ItemAlign.Center,
- justifyContent: FlexAlign.Center }) {
- Button("TimePickerDialog").onClick(() => {
- TimePickerDialog.show({
- selected:this.selectTime,
- useMilitaryTime: this.isUseMilitaryTime,
- onAccept: (value: TimePickerResult) => {
- console.info("TimePickerDialog:onAccept()" + JSON.stringify(value));
- },
- onCancel: () => {
- console.info("TimePickerDialog:onCancel()");
- },
- onChange: (value: TimePickerResult) => {
- console.info("TimePickerDialog:onChange()" + JSON.stringify(value));
- }
+ Column() {
+ Button("TimePickerDialog 12小时制")
+ .margin(20)
+ .onClick(() => {
+ TimePickerDialog.show({
+ selected: this.selectTime,
+ onAccept: (value: TimePickerResult) => {
+ // 设置selectTime为按下确定按钮时的时间,这样当弹窗再次弹出时显示选中的为上一次确定的时间
+ this.selectTime.setHours(value.hour, value.minute)
+ console.info("TimePickerDialog:onAccept()" + JSON.stringify(value));
+ },
+ onCancel: () => {
+ console.info("TimePickerDialog:onCancel()");
+ },
+ onChange: (value: TimePickerResult) => {
+ console.info("TimePickerDialog:onChange()" + JSON.stringify(value));
+ }
+ })
})
- })
- }
- }
-}
-```
- ![zh-cn_image_0000001118642010](figures/zh-cn_image_0000001118642010.gif)
-
-### 时间滑动选择器(12小时制)示例
-
-```ts
-// xxx.ets
-@Entry
-@Component
-struct TimePickerDialogExample02 {
- @State isUseMilitaryTime: boolean = false;
-
- build() {
- Flex({direction: FlexDirection.Column, alignItems: ItemAlign.Center,
- justifyContent: FlexAlign.Center }) {
- Button("TimePickerDialog").onClick(() => {
- TimePickerDialog.show({
- useMilitaryTime: this.isUseMilitaryTime,
- onAccept: (value: TimePickerResult) => {
- console.info("TimePickerDialog:onAccept()" + JSON.stringify(value))
- },
- onCancel: () => {
- console.info("TimePickerDialog:onCancel()");
- },
- onChange: (value: TimePickerResult) => {
- console.info("TimePickerDialog:onChange()" + JSON.stringify(value));
- }
+ Button("TimePickerDialog 24小时制")
+ .margin(20)
+ .onClick(() => {
+ TimePickerDialog.show({
+ selected: this.selectTime,
+ useMilitaryTime: true,
+ onAccept: (value: TimePickerResult) => {
+ this.selectTime.setHours(value.hour, value.minute)
+ console.info("TimePickerDialog:onAccept()" + JSON.stringify(value));
+ },
+ onCancel: () => {
+ console.info("TimePickerDialog:onCancel()");
+ },
+ onChange: (value: TimePickerResult) => {
+ console.info("TimePickerDialog:onChange()" + JSON.stringify(value));
+ }
+ })
})
- })
- }
+ }.width('100%')
}
}
-```
-
- ![zh-cn_image_0000001118642020](figures/zh-cn_image_0000001118642020.gif)
\ No newline at end of file
+```
\ No newline at end of file