zhangwei
2024-09-18 182884c4367668f279851b76be9b2b957ad0d47a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
import { AllowedComponentProps, VNodeProps } from './_common'
 
declare interface CalendarProps {
  /**
   * 标题内容
   * @default "日期选择"
   */
  title?: string
  /**
   * 是否显示标题
   * @default true
   */
  showTitle?: boolean
  /**
   * 是否显示副标题
   * @default true
   */
  showSubtitle?: boolean
  /**
   * 日期类型选择
   * @default 'single
   */
  mode?: 'single' | 'multiple' | 'range'
  /**
   * mode=range时,第一个日期底部的提示文字
   * @default "开始"
   */
  startText?: string
  /**
   * mode=range时,最后一个日期底部的提示文字
   * @default "结束"
   */
  endText?: string
  /**
   * 自定义列表
   */
  customList?: any[]
  /**
   * 主题色,对底部按钮和选中日期有效
   * @default "#3c9cff"
   */
  color?: string
  /**
   * 最小的可选日期
   * @default 0
   */
  minDate?: string | number
  /**
   * 最大可选日期
   * @default 0
   */
  maxDate?: string | number
  /**
   * 默认选中的日期,mode为multiple或range是必须为数组格式
   * @default null
   */
  defaultDate?: string | Date | any[]
  /**
   * mode=multiple时,最多可选多少个日期
   * @default Number.MAX_SAFE_INTEGER
   */
  maxCount?: string | number
  /**
   * 日期行高
   * @default 56
   */
  rowHeight?: string | number
  /**
   * 日期格式化函数(如需兼容微信小程序,则只能通过setFormatter方法)
   */
  formatter?: (...args: any) => any
  /**
   * 是否显示农历
   * @default false
   */
  showLunar?: boolean
  /**
   * 是否显示月份背景色
   * @default true
   */
  showMark?: boolean
  /**
   * 确定按钮的文字
   * @default "确定"
   */
  confirmText?: string
  /**
   * 确认按钮处于禁用状态时的文字
   * @default "确定"
   */
  confirmDisabledText?: string
  /**
   * 是否显示日历弹窗
   * @default false
   */
  show?: boolean
  /**
   * 是否允许点击遮罩关闭日历 (注意:关闭事件需要自行处理,只会在开启closeOnClickOverlay后点击遮罩层执行close回调)
   * @default false
   */
  closeOnClickOverlay?: boolean
  /**
   * 是否为只读状态,只读状态下禁止选择日期
   * @default false
   */
  readonly?: boolean
  /**
   * 日期区间最多可选天数,默认无限制,mode = range时有效
   * @default 无限制
   */
  maxRange?: string | number
  /**
   * 范围选择超过最多可选天数时的提示文案,mode = range时有效
   * @default "选择天数不能超过 xx 天"
   */
  rangePrompt?: string | null
  /**
   * 范围选择超过最多可选天数时,是否展示提示文案,mode = range时有效
   * @default true
   */
  showRangePrompt?: boolean
  /**
   * 是否允许日期范围的起止时间为同一天,mode = range时有效
   * @default false
   */
  allowSameDay?: boolean
  /**
   * 圆角值,默认无圆角
   * @default 0
   */
  round?: string | number
  /**
   * 最大展示的月份数量
   * @default 3
   */
  monthNum?: string | number
  /**
   * 日期选择完成后触发,若`show-confirm`为`true`,则点击确认按钮后触发
   */
  onConfirm?: (...args: any) => any
  /**
   * 日历关闭时触发
   */
  onClose?: () => any
}
 
declare interface _Calendar {
  new (): {
    $props: AllowedComponentProps &
      VNodeProps &
      CalendarProps
  }
}
 
declare interface _CalendarRef {
  /**
   * 为兼容微信小程序而暴露的内部方法,详见[文档](https://www.uviewui.com/components/calendar.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%96%87%E6%A1%88)
   */
  setFormatter: (type, value) => any
}
 
export declare const Calendar: _Calendar
 
export declare const CalendarRef: _CalendarRef