• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# TimePicker
2
3时间选择组件,根据指定参数创建选择器,支持选择小时及分钟。
4
5>  **说明:**
6>
7>  该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9
10## 子组件
11
1213
14
15## 接口
16
17TimePicker(options?: {selected?: Date})
18
19默认以24小时的时间区间创建滑动选择器。
20
21**参数:**
22
23| 参数名      | 参数类型 | 必填   | 参数描述                     |
24| -------- | ---- | ---- | ------------------------ |
25| selected | Date | 否    | 设置选中项的时间。<br/>默认值:当前系统时间 |
26
27## 属性
28
29除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性:
30
31| 名称              | 参数类型    | 描述                                  |
32| --------------- | ------- | ----------------------------------- |
33| useMilitaryTime | boolean | 展示时间是否为24小时制,不支持动态修改。<br/>默认值:false |
34
35## 事件
36
37除支持[通用事件](ts-universal-events-click.md)外,还支持以下事件:
38
39| 名称                                       | 功能描述        |
40| ---------------------------------------- | ----------- |
41| onChange(callback:&nbsp;(value:&nbsp;TimePickerResult )&nbsp;=&gt;&nbsp;void) | 选择时间时触发该事件。 |
42
43## TimePickerResult对象说明
44
45返回值为24小时制时间。
46
47| 名称   | 参数类型 | 描述                                |
48| ------ | -------- | ----------------------------------- |
49| hour   | number   | 选中时间的时。<br/>取值范围:[0-23] |
50| minute | number   | 选中时间的分。<br/>取值范围:[0-59] |
51
52
53## 示例
54
55```ts
56// xxx.ets
57@Entry
58@Component
59struct TimePickerExample {
60  @State isMilitaryTime: boolean = false
61  private selectedTime: Date = new Date('2022-07-22T08:00:00')
62
63  build() {
64    Column() {
65      Button('切换12小时制/24小时制')
66        .margin({ top: 30 })
67        .onClick(() => {
68          this.isMilitaryTime = !this.isMilitaryTime
69        })
70      TimePicker({
71        selected: this.selectedTime,
72      })
73        .useMilitaryTime(this.isMilitaryTime)
74        .onChange((value: TimePickerResult) => {
75          this.selectedTime.setHours(value.hour, value.minute)
76          console.info('select current date is: ' + JSON.stringify(value))
77        })
78    }.width('100%')
79  }
80}
81```
82
83![timePicker](figures/timePicker.gif)