• 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| 名称     | 参数类型   | 描述      |
46| ------ | ------ | ------- |
47| hour   | number | 选中时间的时。 |
48| minute | number | 选中时间的分。 |
49
50
51## 示例
52
53```ts
54// xxx.ets
55@Entry
56@Component
57struct TimePickerExample {
58  @State isMilitaryTime: boolean = false
59  private selectedTime: Date = new Date('2022-07-22T08:00:00')
60
61  build() {
62    Column() {
63      Button('切换12小时制/24小时制')
64        .margin({ top: 30 })
65        .onClick(() => {
66          this.isMilitaryTime = !this.isMilitaryTime
67        })
68      TimePicker({
69        selected: this.selectedTime,
70      })
71        .useMilitaryTime(this.isMilitaryTime)
72        .onChange((value: TimePickerResult) => {
73          this.selectedTime.setHours(value.hour, value.minute)
74          console.info('select current date is: ' + JSON.stringify(value))
75        })
76    }.width('100%')
77  }
78}
79```
80
81![timePicker](figures/timePicker.gif)