1
import * as React from 'react';
2 4
import { createHostComponent } from '@remax/shared';
3
import { BaseProps, GenericEvent } from '../../types/component';
4

5
export interface PickerProps extends BaseProps {
6
  name?: string;
7
  /**
8
   * 1.0.0
9
   * 选择器类型
10
   *
11
   * selector	普通选择器
12
   * multiSelector	多列选择器
13
   * time	时间选择器
14
   * date	日期选择器
15
   * region	省市区选择器
16
   */
17
  mode?: 'selector' | 'multiSelector' | 'time' | 'date' | 'region';
18
  /**
19
   * 1.0.0
20
   * 是否禁用
21
   */
22
  disabled?: boolean;
23
  /**
24
   * 1.9.90
25
   * 取消选择时触发
26
   */
27
  onCancel?: (event: GenericEvent) => any;
28
  onChange?: (event: GenericEvent) => void;
29
  /**
30
   * 列改变时触发
31
   */
32
  onColumnChange?: (event: any) => void;
33
  /**
34
   * mode 为 selector 或 multiSelector 时,range 有效
35
   */
36
  range?: any[];
37
  /**
38
   * 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
39
   */
40
  rangeKey?: string;
41
  value?: any;
42
  /**
43
   * mode = time
44
   * 表示有效时间范围的开始,字符串格式为"hh:mm"
45
   *
46
   * mode = date
47
   * 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
48
   */
49
  start?: string;
50
  /**
51
   * mode = time
52
   * 表示有效时间范围的结束,字符串格式为"hh:mm"
53
   *
54
   * mode = date
55
   * 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
56
   */
57
  end?: string;
58
  /**
59
   * 	有效值 year,month,day,表示选择器的粒度
60
   */
61
  fields?: 'year' | 'month' | 'day';
62
  /**
63
   * 1.5.0
64
   * mode = region
65
   * 可为每一列的顶部添加一个自定义的项
66
   */
67
  customItem?: string;
68
}
69

70
/**
71
 * https://developers.weixin.qq.com/miniprogram/dev/component/picker.html
72
 */
73 4
export const Picker: React.ComponentType<PickerProps> = createHostComponent<PickerProps>('picker');
74

75 4
Picker.defaultProps = {
76
  mode: 'selector',
77
  disabled: false,
78
  // FIXME: value 的值与 mode 类型变化
79
  // value: 0,
80
  range: [],
81
  fields: 'day',
82
};

Read our documentation on viewing source code .

Loading