@tuya-miniapp/smart-ui 2.13.2-beta-0 → 2.13.2-beta-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action-sheet/README.md +631 -0
- package/dist/battery/README.md +102 -0
- package/dist/bottom-sheet/README.md +397 -0
- package/dist/button/README.md +205 -0
- package/dist/button/index.css +1 -1
- package/dist/button/index.wxss +1 -1
- package/dist/calendar/README.md +466 -0
- package/dist/cascader/README.md +235 -0
- package/dist/cell/README.md +240 -0
- package/dist/checkbox/README.md +359 -0
- package/dist/circle/README.md +116 -0
- package/dist/col/README.md +134 -0
- package/dist/collapse/README.md +223 -0
- package/dist/common/README.md +71 -0
- package/dist/config-provider/README.md +143 -0
- package/dist/count-down/README.md +194 -0
- package/dist/custom-keyboard/README.md +119 -0
- package/dist/datetime-picker/README.md +384 -0
- package/dist/dialog/README.md +412 -0
- package/dist/divider/README.md +100 -0
- package/dist/dropdown-menu/README.md +278 -0
- package/dist/empty/README.md +101 -0
- package/dist/field/README.md +439 -0
- package/dist/grid/README.md +197 -0
- package/dist/icon/README.md +143 -0
- package/dist/image/README.md +171 -0
- package/dist/index-bar/README.md +189 -0
- package/dist/loading/README.md +86 -0
- package/dist/nav-bar/README.md +378 -0
- package/dist/normal-slider/README.md +325 -0
- package/dist/notice-bar/README.md +216 -0
- package/dist/notify/README.md +120 -0
- package/dist/overlay/README.md +132 -0
- package/dist/picker/README.md +396 -0
- package/dist/popover/README.md +249 -0
- package/dist/popup/README.md +162 -0
- package/dist/progress/README.md +99 -0
- package/dist/radio/README.md +303 -0
- package/dist/rate/README.md +176 -0
- package/dist/search/README.md +235 -0
- package/dist/sidebar/README.md +160 -0
- package/dist/skeleton/README.md +98 -0
- package/dist/slider/README.md +366 -0
- package/dist/stepper/README.md +208 -0
- package/dist/sticky/README.md +124 -0
- package/dist/swipe-cell/README.md +172 -0
- package/dist/switch/README.md +204 -0
- package/dist/tab/README.md +414 -0
- package/dist/tabbar/README.md +333 -0
- package/dist/tag/README.md +184 -0
- package/dist/toast/README.md +220 -0
- package/dist/transition/README.md +114 -0
- package/dist/tree-select/README.md +199 -0
- package/lib/action-sheet/README.md +631 -0
- package/lib/battery/README.md +102 -0
- package/lib/bottom-sheet/README.md +397 -0
- package/lib/button/README.md +205 -0
- package/lib/button/index.css +1 -1
- package/lib/button/index.wxss +1 -1
- package/lib/calendar/README.md +466 -0
- package/lib/cascader/README.md +235 -0
- package/lib/cell/README.md +240 -0
- package/lib/checkbox/README.md +359 -0
- package/lib/circle/README.md +116 -0
- package/lib/col/README.md +134 -0
- package/lib/collapse/README.md +223 -0
- package/lib/common/README.md +71 -0
- package/lib/config-provider/README.md +143 -0
- package/lib/count-down/README.md +194 -0
- package/lib/custom-keyboard/README.md +119 -0
- package/lib/datetime-picker/README.md +384 -0
- package/lib/dialog/README.md +412 -0
- package/lib/divider/README.md +100 -0
- package/lib/dropdown-menu/README.md +278 -0
- package/lib/empty/README.md +101 -0
- package/lib/field/README.md +439 -0
- package/lib/grid/README.md +197 -0
- package/lib/icon/README.md +143 -0
- package/lib/image/README.md +171 -0
- package/lib/index-bar/README.md +189 -0
- package/lib/loading/README.md +86 -0
- package/lib/nav-bar/README.md +378 -0
- package/lib/normal-slider/README.md +325 -0
- package/lib/notice-bar/README.md +216 -0
- package/lib/notify/README.md +120 -0
- package/lib/overlay/README.md +132 -0
- package/lib/picker/README.md +396 -0
- package/lib/popover/README.md +249 -0
- package/lib/popup/README.md +162 -0
- package/lib/progress/README.md +99 -0
- package/lib/radio/README.md +303 -0
- package/lib/rate/README.md +176 -0
- package/lib/search/README.md +235 -0
- package/lib/sidebar/README.md +160 -0
- package/lib/skeleton/README.md +98 -0
- package/lib/slider/README.md +366 -0
- package/lib/stepper/README.md +208 -0
- package/lib/sticky/README.md +124 -0
- package/lib/swipe-cell/README.md +172 -0
- package/lib/switch/README.md +204 -0
- package/lib/tab/README.md +414 -0
- package/lib/tabbar/README.md +333 -0
- package/lib/tag/README.md +184 -0
- package/lib/toast/README.md +220 -0
- package/lib/transition/README.md +114 -0
- package/lib/tree-select/README.md +199 -0
- package/package.json +1 -1
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: 数据录入
|
|
3
|
+
new: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Calendar 日历
|
|
7
|
+
|
|
8
|
+
> v2.0.0 开始加入
|
|
9
|
+
|
|
10
|
+
### 介绍
|
|
11
|
+
|
|
12
|
+
日历组件用于选择日期或日期区间。
|
|
13
|
+
|
|
14
|
+
### 引入
|
|
15
|
+
|
|
16
|
+
在`app.json`或`index.json`中引入组件,详细介绍见[快速上手](/material/smartui?comId=help-getting-started&appType=miniapp)。
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
"usingComponents": {
|
|
20
|
+
"smart-calendar": "@tuya-miniapp/smart-ui/lib/calendar/index"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 代码演示
|
|
25
|
+
|
|
26
|
+
### 选择单个日期
|
|
27
|
+
|
|
28
|
+
下面演示了结合单元格来使用日历组件的用法,日期选择完成后会触发`select`事件。
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<smart-calendar
|
|
32
|
+
title="日期选择"
|
|
33
|
+
min-date="{{ minDayDate }}"
|
|
34
|
+
max-date="{{ maxDayDate }}"
|
|
35
|
+
default-date="{{ curDayDate }}"
|
|
36
|
+
bind:select="setCurDay"
|
|
37
|
+
/>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
Page({
|
|
42
|
+
data: {
|
|
43
|
+
curDayDate: new Date(2024, 0, 15).getTime(),
|
|
44
|
+
minDayDate: new Date(2024, 0, 4).getTime(),
|
|
45
|
+
maxDayDate: new Date(2024, 1, 20).getTime(),
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
setCurDay(event) {
|
|
49
|
+
const date = event.detail;
|
|
50
|
+
this.setData({
|
|
51
|
+
curDayDate: new Date(date).getTime(),
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 自定义日期样式
|
|
58
|
+
|
|
59
|
+
使用 `dayClassMap` 属性可设置指定日期的样式,
|
|
60
|
+
|
|
61
|
+
```html
|
|
62
|
+
<smart-calendar
|
|
63
|
+
title="日期选择"
|
|
64
|
+
min-date="{{ minDayDate }}"
|
|
65
|
+
max-date="{{ maxDayDate }}"
|
|
66
|
+
default-date="{{ curDayDate }}"
|
|
67
|
+
bind:select="setCurDay"
|
|
68
|
+
day-class-map="{{dayClassMap}}"
|
|
69
|
+
/>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```js
|
|
73
|
+
Page({
|
|
74
|
+
data: {
|
|
75
|
+
curDayDate: new Date(2024, 0, 15).getTime(),
|
|
76
|
+
minDayDate: new Date(2024, 0, 4).getTime(),
|
|
77
|
+
maxDayDate: new Date(2024, 1, 20).getTime(),
|
|
78
|
+
dayClassMap: {
|
|
79
|
+
'2024-01-17': "calendar-disabled"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
setCurDay(event) {
|
|
84
|
+
const date = event.detail;
|
|
85
|
+
this.setData({
|
|
86
|
+
curDayDate: new Date(date).getTime(),
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
在 `app.less` 文件中定义 css 类:
|
|
93
|
+
|
|
94
|
+
> 注意 css 类必须放在 app.less 文件中才可生效
|
|
95
|
+
|
|
96
|
+
```css
|
|
97
|
+
.calendar-disabled {
|
|
98
|
+
opacity: 0.5;
|
|
99
|
+
pointer-events: none;
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 选择单个周范围
|
|
104
|
+
|
|
105
|
+
设置`type`为`week`后可以选择一个周的时间范围,此时`select`事件返回的 date 为数组结构,数组包含开始和结束选中的日期。
|
|
106
|
+
|
|
107
|
+
通过 `first-day-of-select-week` `v2.9.1` 属性可以设置周选择的起始日,用于控制点击日期时选择的周范围。`first-day-of-week` 用于控制日历显示的周起始日,而 `first-day-of-select-week` 专门用于控制周选择的范围计算。
|
|
108
|
+
|
|
109
|
+
```html
|
|
110
|
+
<smart-calendar
|
|
111
|
+
title="选择单个周范围"
|
|
112
|
+
type="week"
|
|
113
|
+
min-date="{{ minWeekDayDate }}"
|
|
114
|
+
max-date="{{ maxWeekDayDate }}"
|
|
115
|
+
default-date="{{ curWeekDayDate }}"
|
|
116
|
+
first-day-of-select-week="{{ 1 }}"
|
|
117
|
+
bind:select="setWeekCurDay"
|
|
118
|
+
/>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```js
|
|
122
|
+
Page({
|
|
123
|
+
data: {
|
|
124
|
+
minWeekDayDate: new Date(2024, 0, 4).getTime(),
|
|
125
|
+
maxWeekDayDate: new Date(2024, 1, 20).getTime(),
|
|
126
|
+
curWeekDayDate: [
|
|
127
|
+
new Date(2024, 0, 15).getTime(),
|
|
128
|
+
new Date(2024, 0, 21).getTime(),
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
setWeekCurDay(event) {
|
|
133
|
+
const date = event.detail;
|
|
134
|
+
this.setData({
|
|
135
|
+
curWeekDayDate: [date[0], date[1]],
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 选择时间段
|
|
142
|
+
|
|
143
|
+
设置`type`为`range`后可以选择日期区间,此时`select`事件返回的 date 为数组结构,数组第一项为开始时间,第二项为结束时间。
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<smart-calendar
|
|
147
|
+
title="选择时间段"
|
|
148
|
+
type="range"
|
|
149
|
+
default-date="{{ curRangeDayDate }}"
|
|
150
|
+
min-date="{{ minRangeDayDate }}"
|
|
151
|
+
max-date="{{ maxRangeDayDate }}"
|
|
152
|
+
bind:select="setRangeCurDay"
|
|
153
|
+
/>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
```js
|
|
157
|
+
Page({
|
|
158
|
+
data: {
|
|
159
|
+
curRangeDayDate: [
|
|
160
|
+
new Date(2024, 0, 10).getTime(),
|
|
161
|
+
new Date(2024, 0, 20).getTime(),
|
|
162
|
+
],
|
|
163
|
+
minRangeDayDate: new Date(2024, 0, 4).getTime(),
|
|
164
|
+
maxRangeDayDate: new Date(2024, 1, 20).getTime(),
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
setRangeCurDay(event) {
|
|
168
|
+
const date = event.detail;
|
|
169
|
+
this.setData({
|
|
170
|
+
curRangeDayDate: [date[0]?.getTime(), date[1]?.getTime()],
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 选择月份
|
|
177
|
+
|
|
178
|
+
设置`type`为`month`后可以选择月份,此时`select`事件返回的 date 为当月的第一天。
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
```html
|
|
182
|
+
<smart-calendar
|
|
183
|
+
title="选择月份"
|
|
184
|
+
type="month"
|
|
185
|
+
min-date="{{ minMonthDate }}"
|
|
186
|
+
max-date="{{ maxMonthDate }}"
|
|
187
|
+
default-date="{{ curMonthDate }}"
|
|
188
|
+
bind:select="setCurMonth"
|
|
189
|
+
/>
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
```js
|
|
193
|
+
Page({
|
|
194
|
+
data: {
|
|
195
|
+
curMonthDate: new Date(2024, 6, 1).getTime(),
|
|
196
|
+
minMonthDate: new Date(2024, 2, 1).getTime(),
|
|
197
|
+
maxMonthDate: new Date(2025, 9, 31).getTime(),
|
|
198
|
+
},
|
|
199
|
+
setCurMonth(event) {
|
|
200
|
+
const date = event.detail;
|
|
201
|
+
this.setData({
|
|
202
|
+
curMonthDate: date.getTime(),
|
|
203
|
+
});
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### 选择年份
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
设置`type`为`year`后可以选择年份,此时`select`事件返回的 date 为当年的第一天。
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
```html
|
|
215
|
+
<smart-calendar
|
|
216
|
+
title="选择年份"
|
|
217
|
+
type="year"
|
|
218
|
+
default-date="{{ curYearDate }}"
|
|
219
|
+
min-date="{{ minYearDate }}"
|
|
220
|
+
max-date="{{ maxYearDate }}"
|
|
221
|
+
bind:select="setCurYear"
|
|
222
|
+
/>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
```js
|
|
226
|
+
Page({
|
|
227
|
+
data: {
|
|
228
|
+
curYearDate: new Date(2017, 6, 1).getTime(),
|
|
229
|
+
minYearDate: new Date(2012, 0, 1).getTime(),
|
|
230
|
+
maxYearDate: new Date(2029, 10, 31).getTime(),
|
|
231
|
+
},
|
|
232
|
+
setCurYear(event) {
|
|
233
|
+
const date = event.detail;
|
|
234
|
+
this.setData({
|
|
235
|
+
curYearDate: date.getTime(),
|
|
236
|
+
});
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
### 自定义颜色
|
|
243
|
+
|
|
244
|
+
通过`color`属性可以自定义日历的颜色,对选中日期和底部按钮生效。
|
|
245
|
+
|
|
246
|
+
```html
|
|
247
|
+
<smart-calendar color="#07c160" />
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### 自定义日期范围
|
|
251
|
+
|
|
252
|
+
通过`min-date`和`max-date`定义日历的范围,需要注意的是`min-date`和`max-date`的区间不宜过大,否则会造成严重的性能问题。
|
|
253
|
+
|
|
254
|
+
```html
|
|
255
|
+
<smart-calendar
|
|
256
|
+
min-date="{{ minDate }}"
|
|
257
|
+
max-date="{{ maxDate }}"
|
|
258
|
+
/>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
```js
|
|
262
|
+
Page({
|
|
263
|
+
data: {
|
|
264
|
+
minDate: new Date(2010, 0, 1).getTime(),
|
|
265
|
+
maxDate: new Date(2010, 0, 31).getTime(),
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### 自定义按钮文字
|
|
271
|
+
|
|
272
|
+
通过`confirm-text`设置按钮文字
|
|
273
|
+
|
|
274
|
+
```html
|
|
275
|
+
<smart-calendar
|
|
276
|
+
type="range"
|
|
277
|
+
confirm-text="完成"
|
|
278
|
+
/>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### 自定义弹出位置
|
|
282
|
+
|
|
283
|
+
通过`position`属性自定义弹出层的弹出位置,可选值为`top`、`left`、`right`。
|
|
284
|
+
|
|
285
|
+
```html
|
|
286
|
+
<smart-calendar show="{{ show }}" round="false" position="right" />
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### 自定义周起始日
|
|
290
|
+
|
|
291
|
+
通过 `first-day-of-week` 属性设置一周从哪天开始。
|
|
292
|
+
|
|
293
|
+
```html
|
|
294
|
+
<smart-calendar first-day-of-week="{{ 1 }}" />
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### 平铺展示
|
|
298
|
+
|
|
299
|
+
将`poppable`设置为`false`,日历会直接展示在页面内,而不是以弹层的形式出现。
|
|
300
|
+
|
|
301
|
+
```html
|
|
302
|
+
<smart-calendar
|
|
303
|
+
title="日历"
|
|
304
|
+
poppable="{{ false }}"
|
|
305
|
+
show-confirm="{{ false }}"
|
|
306
|
+
class="calendar"
|
|
307
|
+
/>
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### 单元格样式自定义
|
|
311
|
+
|
|
312
|
+
通过 `dayClassMap` 属性,可设置指定日期的 class 类名
|
|
313
|
+
|
|
314
|
+
```html
|
|
315
|
+
<smart-calendar
|
|
316
|
+
title="日历"
|
|
317
|
+
poppable="{{ false }}"
|
|
318
|
+
show-confirm="{{ false }}"
|
|
319
|
+
day-class-map="{{ dayClassMap }}"
|
|
320
|
+
/>
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
```js
|
|
324
|
+
Page({
|
|
325
|
+
data: {
|
|
326
|
+
dayClassMap: {
|
|
327
|
+
'2024-11-20': 'bottom-point'
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
});
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
在 app.less 中定义 bottom-point css 类:
|
|
334
|
+
|
|
335
|
+
```css
|
|
336
|
+
.bottom-point {
|
|
337
|
+
/* ... */
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
## API
|
|
343
|
+
|
|
344
|
+
### locale
|
|
345
|
+
默认配置为 en,配置参数参考下面的JSON
|
|
346
|
+
```js
|
|
347
|
+
{
|
|
348
|
+
shortWeekDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // 周名称
|
|
349
|
+
subFormatter: 'YYYY-MM', // 副标题格式化,只允许YYYYMM
|
|
350
|
+
}
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Props
|
|
354
|
+
|
|
355
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
356
|
+
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | -------------------- |
|
|
357
|
+
| color | 主题色,对底部按钮和选中日期生效 | _string_ | `#ee0a24` |
|
|
358
|
+
| confirm-text | 确认按钮的文字 | _string_ | `确定` |
|
|
359
|
+
| day-class-map `v2.1.0` | 日期单元格样式 | Object | null |
|
|
360
|
+
| default-date `v1.10.21` | 默认选中的日期,`type`为`range`时为数组,传入 `null` 表示默认不选择 | _timestamp \| timestamp[] \| null_ | 今天 |
|
|
361
|
+
| first-day-of-select-week `v2.9.1` | 设置周选择时的起始日,用于控制点击日期时选择的周范围。`first-day-of-week` 用于控制日历显示的周起始日,而 `first-day-of-select-week` 专门用于控制周选择的范围计算 | _0~6_ | `1` |
|
|
362
|
+
| first-day-of-week | 设置周起始日 | _0~6_ | `0` |
|
|
363
|
+
| header-icon-color `v2.6.0` | 头部栏左右箭头 icon 颜色 | _string_ | `rgba(0, 0, 0, 0.7)` |
|
|
364
|
+
| locale | 多语言包 | _Object_ | [默认配置](#locale) |
|
|
365
|
+
| max-date | 可选择的最大日期 | _timestamp_ | 当前日期的六个月后 |
|
|
366
|
+
| min-date | 可选择的最小日期 | _timestamp_ | 当前日期 |
|
|
367
|
+
| poppable | 是否以弹层的形式展示日历 | _boolean_ | `true` |
|
|
368
|
+
| readonly `v1.9.1` | 是否为只读状态,只读状态下不能选择日期 | _boolean_ | `false` |
|
|
369
|
+
| row-height | 日期行高 | _number \| string_ | `64` |
|
|
370
|
+
| show-confirm | 是否展示确认按钮 | _boolean_ | `true` |
|
|
371
|
+
| show-subtitle | 是否展示日历副标题(年月) | _boolean_ | `true` |
|
|
372
|
+
| show-title | 是否展示日历标题 | _boolean_ | `true` |
|
|
373
|
+
| title | 日历标题 | _string_ | `日期选择` |
|
|
374
|
+
| type | 选择类型:<br>`single`表示选择单个日期,<br>`range`表示选择日期区间,<br>`week`表示选择周,<br>`month`表示选择月,<br>`year`表示选择年 | _string_ | `single` |
|
|
375
|
+
|
|
376
|
+
### Range Props
|
|
377
|
+
|
|
378
|
+
当 Calendar 的 `type` 为 `range` 时,支持以下 props:
|
|
379
|
+
|
|
380
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
381
|
+
| -------------------------- | -------------------------------------------- | ------------------ | --------------------------- |
|
|
382
|
+
| allow-same-day `v2.3.9` | 是否允许日期范围的起止时间为同一天 | _boolean_ | `false` |
|
|
383
|
+
| max-range `v2.3.9` | 日期区间最多可选天数,默认无限制 | _number \| string_ | - |
|
|
384
|
+
| range-prompt `v2.3.9` | 范围选择超过最多可选天数时的提示文案 | _string \| null_ | `Days selected over x days` |
|
|
385
|
+
| show-range-prompt `v2.3.9` | 范围选择超过最多可选天数时,是否展示提示文案 | _boolean_ | `true` |
|
|
386
|
+
|
|
387
|
+
### Poppable Props
|
|
388
|
+
|
|
389
|
+
当 Calendar 的 `poppable` 为 `true` 时,支持以下 props:
|
|
390
|
+
|
|
391
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
392
|
+
| ---------------------- | ------------------------------------------- | --------- | -------- |
|
|
393
|
+
| close-on-click-overlay | 是否在点击遮罩层后关闭 | _boolean_ | `true` |
|
|
394
|
+
| position | 弹出位置,可选值为 `top` `right` `left` | _string_ | `bottom` |
|
|
395
|
+
| round | 是否显示圆角弹窗 | _boolean_ | `true` |
|
|
396
|
+
| safe-area-inset-bottom | 是否开启底部安全区适配,v2.7.0 开始默认关闭 | _boolean_ | `false` |
|
|
397
|
+
| show | 是否显示日历弹窗 | _boolean_ | `false` |
|
|
398
|
+
|
|
399
|
+
### Events
|
|
400
|
+
|
|
401
|
+
| 事件名 | 说明 | 回调参数 |
|
|
402
|
+
| ---------------------------- | ------------------------------------------------------------------ | ------------------------------ |
|
|
403
|
+
| bind:click-subtitle `v1.8.1` | 点击日历副标题时触发 | _WechatMiniprogram.TouchEvent_ |
|
|
404
|
+
| bind:close | 关闭弹出层时触发 | - |
|
|
405
|
+
| bind:closed | 关闭弹出层且动画结束后触发 | - |
|
|
406
|
+
| bind:confirm | 日期选择完成后触发,若`show-confirm`为`true`,则点击确认按钮后触发 | _value: Date \| Date[]_ |
|
|
407
|
+
| bind:open | 打开弹出层时触发 | - |
|
|
408
|
+
| bind:opened | 打开弹出层且动画结束后触发 | - |
|
|
409
|
+
| bind:over-range | 范围选择超过最多可选天数时触发 | - |
|
|
410
|
+
| bind:select | 点击任意日期时触发 | _value: Date \| Date[]_ |
|
|
411
|
+
| bind:unselect | 当 Calendar 的 `type` 为 `multiple` 时,点击已选中的日期时触发 | _value: Date_ |
|
|
412
|
+
|
|
413
|
+
### 方法
|
|
414
|
+
|
|
415
|
+
通过 [selectComponent](/material/smartui?comId=faq&appType=miniapp) 可以获取到 Calendar 实例并调用实例方法。
|
|
416
|
+
|
|
417
|
+
| 方法名 | 说明 | 参数 | 返回值 |
|
|
418
|
+
| ------ | ---------------------- | ---- | ------ |
|
|
419
|
+
| reset | 重置选中的日期到默认值 | - | - |
|
|
420
|
+
|
|
421
|
+
### 样式变量
|
|
422
|
+
|
|
423
|
+
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider 组件](/material/smartui?comId=config-provider&appType=miniapp)。
|
|
424
|
+
| 名称 | 默认值 | 描述 |
|
|
425
|
+
| -------------------------------------------------- | --------------------------------------- | ---------------------- |
|
|
426
|
+
| --calendar-background-color | _var(--app-B6, #fff)_ | 日历背景色 |
|
|
427
|
+
| --calendar-cell-item-border-radius | _52px_ | 日历单元格项圆角半径 |
|
|
428
|
+
| --calendar-cell-item-font-color | _var(--app-B4-N1, rgba(0, 0, 0, 1))_ | 日历单元格项字体颜色 |
|
|
429
|
+
| --calendar-cell-item-font-size | _15px_ | 日期字体大小 |
|
|
430
|
+
| --calendar-cell-item-height | _52px_ | 日历单元格项高度 |
|
|
431
|
+
| --calendar-cell-item-width | _52px_ | 日历单元格项宽度 |
|
|
432
|
+
| --calendar-confirm-button-height | _36px_ | 确认按钮高度 |
|
|
433
|
+
| --calendar-confirm-button-line-height | _34px_ | 确认按钮行高 |
|
|
434
|
+
| --calendar-confirm-button-margin | _7px 0_ | 确认按钮边距 |
|
|
435
|
+
| --calendar-day-disabled-color `@deprecated v2.9.0` | _#c8c9cc_ | 禁用日期颜色 |
|
|
436
|
+
| --calendar-day-font-weight | _500_ | 日期字体字重 |
|
|
437
|
+
| --calendar-day-height | _50px_ | 日期单元格高度 |
|
|
438
|
+
| --calendar-day-select-border-radius | _17px_ | 选中的单元格边框圆角 |
|
|
439
|
+
| --calendar-header-box-shadow | _0 2px 10px rgba(125, 126, 128, 0.16)_ | 日历头部盒子阴影 |
|
|
440
|
+
| --calendar-header-icon-bg-color `v2.6.0` | _var(--app-B2-N9, rgba(0, 0, 0, 0.05))_ | 日历头部图标背景色 |
|
|
441
|
+
| --calendar-header-icon-color `v2.6.0` | _var(--app-B1-N2, rgba(0, 0, 0, 0.7))_ | 日历头部图标背景色 |
|
|
442
|
+
| --calendar-header-title-save-color | _#1989fa_ | 日历头部保存按钮颜色 |
|
|
443
|
+
| --calendar-header-subtitle-font-size | _16px_ | 日历头部副标题字体大小 |
|
|
444
|
+
| --calendar-header-title-font-color | _var(--app-B4-N1, rgba(0, 0, 0, 1))_ | 日历头部标题字体颜色 |
|
|
445
|
+
| --calendar-header-title-font-size | _16px_ | 日历头部标题字体大小 |
|
|
446
|
+
| --calendar-header-title-height | _44px_ | 日历头部标题高度 |
|
|
447
|
+
| --calendar-header-title-weight `v2.6.0` | 600 | 日历头部标题字重 |
|
|
448
|
+
| --calendar-info-font-size | _10px_ | 日历信息字体大小 |
|
|
449
|
+
| --calendar-info-line-height | _14px_ | 日历信息行高 |
|
|
450
|
+
| --calendar-month-mark-color | _fade(@gray-4, 60%)_ | 月份标记颜色 |
|
|
451
|
+
| --calendar-month-mark-font-size | _160px_ | 月份标记字体大小 |
|
|
452
|
+
| --calendar-month-title-font-size | _14px_ | 月份标题字体大小 |
|
|
453
|
+
| --calendar-popup-height `v2.5.0` | _490px_ | 日历弹窗高度 |
|
|
454
|
+
| --calendar-popup-height-month `v2.13.1` | _350px_ | 月模式日历弹窗高度 |
|
|
455
|
+
| --calendar-popup-height-year `v2.13.1` | _350px_ | 年模式日历弹窗高度 |
|
|
456
|
+
| --calendar-range-edge-background-color | _#3678e3_ | 日期范围边缘背景色 |
|
|
457
|
+
| --calendar-range-edge-color | _#fff_ | 日期范围边缘颜色 |
|
|
458
|
+
| --calendar-range-middle-background-opacity | _0.1_ | 日期范围中间背景透明度 |
|
|
459
|
+
| --calendar-range-middle-color | _#fff_ | 日期范围中间颜色 |
|
|
460
|
+
| --calendar-selected-day-background-color | _#3678e3_ | 选中日期背景颜色 |
|
|
461
|
+
| --calendar-selected-day-color | _#fff_ | 选中日期文字颜色 |
|
|
462
|
+
| --calendar-selected-day-size | _34px_ | 选中日期大小 |
|
|
463
|
+
| --calendar-text-color | _#000_ | 日历文字颜色 |
|
|
464
|
+
| --calendar-weekdays-font-color | _var(--app-B4-N1, rgba(0, 0, 0, 1))_ | 星期字体颜色 |
|
|
465
|
+
| --calendar-weekdays-font-size | _12px_ | 星期字体大小 |
|
|
466
|
+
| --calendar-weekdays-height | _30px_ | 星期栏高度 |
|