ts-basic-components-datepicker.md 2.2 KB
Newer Older
Z
zengyawen 已提交
1 2
# DatePicker

H
hebingxue 已提交
3 4
选择日期的滑动选择器组件

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


## 子组件




## 接口

K
kangchongtao 已提交
17
DatePicker(options?: {start?: Date, end?: Date, selected?: Date})
Z
zengyawen 已提交
18

19
根据指定范围的Date创建可以选择日期的滑动选择器。
Z
zengyawen 已提交
20

K
kangchongtao 已提交
21
**参数:**
H
hebingxue 已提交
22 23 24 25 26
| 参数名 | 参数类型 | 必填  | 参数描述 |
| -------- | -------- | ------------- | -------- |
| start    | Date | 否  | 指定选择器的起始日期。<br/>默认值:Date('1970-1-1') |
| end      | Date | 否  |   指定选择器的结束日期。<br/>默认值:Date('2100-12-31') |
| selected | Date | 否  | 设置选中项的日期。<br/>默认值:当前系统日期  |
Z
zengyawen 已提交
27 28 29 30


## 属性

H
hebingxue 已提交
31 32 33
| 名称    | 参数类型        | 描述            | 
| ------| -------------- | -------- |
| lunar | boolean  | 日期是否显示农历。<br/>-&nbsp;true:展示农历。<br/>-&nbsp;false:不展示农历。<br/>默认值:false | 
Z
zengyawen 已提交
34 35 36 37 38


## 事件

| 名称 | 功能描述 | 
39
| -------- | -------- | 
40
| onChange(callback:&nbsp;(value:&nbsp;DatePickerResult)&nbsp;=&gt;&nbsp;void) | 选择日期时触发该事件。 | 
Z
zengyawen 已提交
41

H
hebingxue 已提交
42 43 44 45 46 47 48
## DatePickerResult对象说明

| 名称 | 参数类型 | 描述 | 
| -------- | -------- | -------- |
| year | number | 选中日期的年。 | 
| month | number | 选中日期的月(0~11),0表示1月,11表示12月。 | 
| day | number | 选中日期的日。 | 
Z
zengyawen 已提交
49 50 51 52 53


## 示例


H
geshi  
HelloCrease 已提交
54 55
```ts
// xxx.ets
Z
zengyawen 已提交
56 57
@Entry
@Component
L
luoying_ace_admin 已提交
58 59
struct DatePickerExample {
  @State isLunar: boolean = false
Z
zengyawen 已提交
60 61 62 63
  private selectedDate: Date = new Date('2021-08-08')

  build() {
    Column() {
L
luoying_ace_admin 已提交
64 65 66 67 68
      Button('切换公历农历')
        .margin({ top: 30 })
        .onClick(() => {
          this.isLunar = !this.isLunar
        })
Z
zengyawen 已提交
69 70
      DatePicker({
        start: new Date('1970-1-1'),
71
        end: new Date('2100-1-1'),
Z
zengyawen 已提交
72 73
        selected: this.selectedDate,
      })
L
luoying_ace_admin 已提交
74 75 76 77 78
        .lunar(this.isLunar)
        .onChange((value: DatePickerResult) => {
          this.selectedDate.setFullYear(value.year, value.month, value.day)
          console.info('select current date is: ' + JSON.stringify(value))
        })
Z
zengyawen 已提交
79 80 81 82 83 84

    }.width('100%')
  }
}
```