ts-basic-components-timepicker.md 1.9 KB
Newer Older
1 2
# TimePicker

L
luoying_ace_admin 已提交
3
滑动选择时间的组件。
T
explain  
tianyu 已提交
4

H
geshi  
HelloCrease 已提交
5
>  **说明:**
G
gmy 已提交
6 7
>
>  该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8 9 10 11 12 13 14 15 16


## 子组件




## 接口

G
gmy 已提交
17
TimePicker(options?: {selected?: Date})
18

L
luoying_ace_admin 已提交
19
默认以24小时的时间区间创建滑动选择器。
20

G
gmy 已提交
21 22 23 24 25
**参数:**

| 参数名 | 参数类型 | 必填 | 参数描述 |
| -------- | -------- | -------- | -------- |
| selected | Date | 否 | 设置选中项的时间。<br/>默认值:当前系统时间 |
26 27 28 29


## 属性

G
gmy 已提交
30 31 32
| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| useMilitaryTime | boolean | 展示时间是否为24小时制,不支持动态修改。<br/>默认值:false |
33 34 35 36


## 事件

H
HelloCrease 已提交
37 38
| 名称                                       | 功能描述        |
| ---------------------------------------- | ----------- |
T
explain  
tianyu 已提交
39
| onChange(callback:&nbsp;(value:&nbsp;TimePickerResult )&nbsp;=&gt;&nbsp;void) | 选择时间时触发该事件。 |
40 41

### TimePickerResult对象说明
H
HelloCrease 已提交
42 43 44
| 名称     | 参数类型   | 描述      |
| ------ | ------ | ------- |
| hour   | number | 选中时间的时。 |
T
explain  
tianyu 已提交
45
| minute | number | 选中时间的分。 |
46 47 48 49 50 51 52


## 示例


### 时间选择器

H
geshi  
HelloCrease 已提交
53 54
```ts
// xxx.ets
55 56 57
@Entry
@Component
struct TimePickerExample {
L
luoying_ace_admin 已提交
58
  @State isMilitaryTime: boolean = false
Z
zhangxiao72 已提交
59
  private selectedTime: Date = new Date('2022-07-22T08:00:00')
60 61 62

  build() {
    Column() {
L
luoying_ace_admin 已提交
63 64 65 66 67
      Button('切换12小时制/24小时制')
        .margin({ top: 30 })
        .onClick(() => {
          this.isMilitaryTime = !this.isMilitaryTime
        })
68 69 70
      TimePicker({
        selected: this.selectedTime,
      })
L
luoying_ace_admin 已提交
71 72 73 74 75
        .useMilitaryTime(this.isMilitaryTime)
        .onChange((value: TimePickerResult) => {
          this.selectedTime.setHours(value.hour, value.minute)
          console.info('select current date is: ' + JSON.stringify(value))
        })
76 77 78 79
    }.width('100%')
  }
}
```