m8-codex-mcp 1.0.5 → 1.0.7
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/index.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/standards-summary.js +1 -1
- package/dist/templates/vue2.js +1 -1
- package/dist/templates/vue3.js +1 -1
- package/dist/tools/generate_module_structure.js +1 -1
- package/package.json +2 -3
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +0 -188
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +0 -460
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/004-amap/345/234/260/345/233/276.md +0 -285
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/005-button/346/214/211/351/222/256.md +0 -211
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/008-cell/345/215/225/345/205/203/346/240/274.md +0 -213
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/009-checkbox/345/244/215/351/200/211/346/241/206.md +0 -501
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +0 -168
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +0 -617
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/013-field/350/276/223/345/205/245/346/241/206.md +0 -539
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/015-form/350/241/250/345/215/225.md +0 -999
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +0 -150
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/019-icon/345/233/276/346/240/207.md +0 -133
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/020-loading/345/212/240/350/275/275.md +0 -117
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/021-noticebar/351/200/232/347/237/245/346/240/217.md +0 -152
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +0 -427
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/023-pagination/345/210/206/351/241/265.md +0 -212
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/024-panel/351/235/242/346/235/277.md +0 -85
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +0 -175
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/026-picker/351/200/211/346/213/251/345/231/250.md +0 -519
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/027-popup/345/274/271/345/207/272/345/261/202.md +0 -152
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/028-progress/350/277/233/345/272/246/346/235/241.md +0 -103
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/029-radio/345/215/225/351/200/211/346/241/206.md +0 -285
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/030-rate/350/257/204/345/210/206.md +0 -189
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/031-search/346/220/234/347/264/242.md +0 -217
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/032-slider/346/273/221/345/235/227.md +0 -166
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/033-stepper/346/255/245/350/277/233/345/231/250.md +0 -340
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +0 -265
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/036-switch/345/274/200/345/205/263.md +0 -196
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +0 -115
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/038-tag/346/240/207/350/256/260.md +0 -232
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +0 -631
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -531
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/041-verifycode/351/252/214/350/257/201/347/240/201.md +0 -111
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +0 -337
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/043-layout/345/270/203/345/261/200.md +0 -150
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/044-image/345/233/276/347/211/207.md +0 -144
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/045-toast/350/275/273/346/217/220/347/244/272.md +0 -429
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/046-calendar/346/227/245/345/216/206.md +0 -467
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +0 -295
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/048-tab/346/240/207/347/255/276/351/241/265.md +0 -577
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/049-dialog/345/274/271/345/207/272/346/241/206.md +0 -491
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +0 -265
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +0 -203
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/052-overlay/351/201/256/347/275/251/345/261/202.md +0 -139
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +0 -199
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/054-grid/345/256/253/346/240/274.md +0 -183
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/055-countdown/345/200/222/350/256/241/346/227/266.md +0 -289
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/056-divider/345/210/206/345/211/262/347/272/277.md +0 -97
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/057-empty/347/251/272/347/212/266/346/200/201.md +0 -146
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +0 -292
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/059-lazyload/346/207/222/345/212/240/350/275/275.md +0 -120
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/060-skeleton/351/252/250/346/236/266/345/261/217.md +0 -114
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/061-steps/346/255/245/351/252/244/346/235/241.md +0 -119
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +0 -208
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/063-indexbar/347/264/242/345/274/225/346/240/217.md +0 -161
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +0 -248
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/065-tabbar/346/240/207/347/255/276/346/240/217.md +0 -314
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/066-badge/345/276/275/346/240/207.md +0 -162
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +0 -325
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +0 -360
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +0 -595
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/070-swipe/350/275/256/346/222/255.md +0 -262
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/071-/345/233/275/351/231/205/345/214/226.md +0 -51
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/072-easycalendar/346/227/245/345/216/206.md +0 -132
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/073-qrcode/344/272/214/347/273/264/347/240/201.md +0 -1538
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +0 -261
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +0 -161
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/076-chart/345/233/276/350/241/250.md +0 -381
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/077-rtc/351/237/263/350/247/206/351/242/221.md +0 -531
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/078-table/350/241/250/346/240/274.md +0 -849
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +0 -247
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +0 -276
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +0 -130
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +0 -115
- package/data/m8mpdoc//346/240/270/345/277/203/351/200/232/347/224/250Util/345/267/245/345/205/267/345/272/223/Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -456
- package/data/m8mpdoc//346/240/270/345/277/203/351/200/232/347/224/250Util/345/267/245/345/205/267/345/272/223//345/267/245/345/205/267/345/207/275/346/225/260/345/272/223.md +0 -398
- package/data/standards/01-project/naming.md +0 -158
- package/data/standards/01-project/structure.md +0 -106
- package/data/standards/01-project/version-detection.md +0 -195
- package/data/standards/02-vue/basic.md +0 -242
- package/data/standards/02-vue/component.md +0 -299
- package/data/standards/02-vue/examples.md +0 -240
- package/data/standards/02-vue/performance.md +0 -74
- package/data/standards/02-vue/state-management.md +0 -293
- package/data/standards/03-css/index.md +0 -165
- package/data/standards/04-api/ajax.md +0 -178
- package/data/standards/04-api/ejs-api.md +0 -192
- package/data/standards/04-api/util.md +0 -166
- package/data/standards/05-typescript/index.md +0 -166
- package/data/standards/06-mock/index.md +0 -154
- package/data/standards/07-router/index.md +0 -141
- package/data/standards/README.md +0 -82
- package/data/standards/_index.md +0 -215
- package/dist/index.d.ts +0 -10
- package/dist/index.d.ts.map +0 -1
- package/dist/knowledge/index.d.ts +0 -47
- package/dist/knowledge/index.d.ts.map +0 -1
- package/dist/knowledge/standards-summary.d.ts +0 -106
- package/dist/knowledge/standards-summary.d.ts.map +0 -1
- package/dist/templates/vue2.d.ts +0 -51
- package/dist/templates/vue2.d.ts.map +0 -1
- package/dist/templates/vue3.d.ts +0 -53
- package/dist/templates/vue3.d.ts.map +0 -1
- package/dist/tools/generate_module_structure.d.ts +0 -22
- package/dist/tools/generate_module_structure.d.ts.map +0 -1
|
@@ -1,617 +0,0 @@
|
|
|
1
|
-
# 组件使用
|
|
2
|
-
|
|
3
|
-
## datepicker 日期选择
|
|
4
|
-
|
|
5
|
-
### 介绍
|
|
6
|
-
|
|
7
|
-
- 时间选择器,支持日期、年月、时分等维度,通常与弹出层组件配合使用。本组件已包含了 popup 组件的功能。
|
|
8
|
-
|
|
9
|
-
### 代码演示
|
|
10
|
-
|
|
11
|
-
#### 选择年月日
|
|
12
|
-
|
|
13
|
-
`DatePicker` 通过 `type` 属性来定义需要选择的时间类型,`type` 为 `date` 表示选择年月日。通过 `min-date` 和 `max-date` 属性可以确定可选的时间范围。
|
|
14
|
-
|
|
15
|
-
```html
|
|
16
|
-
<em-date-picker
|
|
17
|
-
v-model="showDatePicker"
|
|
18
|
-
type="datetime"
|
|
19
|
-
title="选择年月日"
|
|
20
|
-
:current-date="currentDate"
|
|
21
|
-
:min-date="minDate"
|
|
22
|
-
@confirm="onConfirm"
|
|
23
|
-
/>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
::: ifdef M83
|
|
27
|
-
|
|
28
|
-
```js
|
|
29
|
-
export default {
|
|
30
|
-
data() {
|
|
31
|
-
return {
|
|
32
|
-
minDate: new Date(2020, 0, 1).getTime(),
|
|
33
|
-
maxDate: new Date(2025, 10, 1).getTime(),
|
|
34
|
-
currentDate: new Date().getTime(),
|
|
35
|
-
showDatePicker: false
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
::: endif
|
|
42
|
-
::: ifdef M84
|
|
43
|
-
|
|
44
|
-
```js
|
|
45
|
-
import { ref } from 'vue';
|
|
46
|
-
const minDate = ref(new Date(2020, 0, 1).getTime());
|
|
47
|
-
const maxDate = ref(new Date(2025, 10, 1).getTime());
|
|
48
|
-
const currentDate = ref(new Date().getTime());
|
|
49
|
-
const showDatePicker = ref(false);
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
::: endif
|
|
53
|
-
|
|
54
|
-
#### 时间范围
|
|
55
|
-
|
|
56
|
-
通过 `range` 属性来切换成选择时间范围的选择器,点击确认后,事件传参为一个数组
|
|
57
|
-
|
|
58
|
-
```html
|
|
59
|
-
<em-date-picker
|
|
60
|
-
v-model="showDatePicker"
|
|
61
|
-
range
|
|
62
|
-
type="date"
|
|
63
|
-
title="范围选择年月日"
|
|
64
|
-
:current-date="currentDate"
|
|
65
|
-
:min-date="minDate"
|
|
66
|
-
:max-date="maxDate"
|
|
67
|
-
@confirm="onConfirm"
|
|
68
|
-
/>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
::: ifdef M83
|
|
72
|
-
|
|
73
|
-
```js
|
|
74
|
-
export default {
|
|
75
|
-
data() {
|
|
76
|
-
return {
|
|
77
|
-
minDate: new Date(2020, 0, 1),
|
|
78
|
-
maxDate: new Date(2025, 10, 1),
|
|
79
|
-
currentDate: new Date().getTime(),
|
|
80
|
-
showDatePicker: false
|
|
81
|
-
};
|
|
82
|
-
},
|
|
83
|
-
methods: {
|
|
84
|
-
onConfirm(dateRange) {
|
|
85
|
-
console.log(dateRange.join('~'));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
::: endif
|
|
92
|
-
::: ifdef M84
|
|
93
|
-
|
|
94
|
-
```js
|
|
95
|
-
import { ref } from 'vue';
|
|
96
|
-
const minDate = ref(new Date(2020, 0, 1));
|
|
97
|
-
const maxDate = ref(new Date(2025, 10, 1));
|
|
98
|
-
const currentDate = ref(new Date().getTime());
|
|
99
|
-
const showDatePicker = ref(false);
|
|
100
|
-
|
|
101
|
-
function onConfirm(dateRange) {
|
|
102
|
-
console.log(dateRange.join('~'));
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
::: endif
|
|
107
|
-
|
|
108
|
-
#### pad 端样式
|
|
109
|
-
|
|
110
|
-
通过 `pad` 属性来切换成`pad`端带日历的样式,默认选择年月日
|
|
111
|
-
|
|
112
|
-
```html
|
|
113
|
-
<em-date-picker
|
|
114
|
-
v-model="showDatePicker"
|
|
115
|
-
pad
|
|
116
|
-
title="选择pad年月"
|
|
117
|
-
:current-date="currentDate"
|
|
118
|
-
:min-date="minDate"
|
|
119
|
-
:max-date="maxDate"
|
|
120
|
-
@confirm="onConfirmPad"
|
|
121
|
-
/>
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
::: ifdef M83
|
|
125
|
-
|
|
126
|
-
```js
|
|
127
|
-
export default {
|
|
128
|
-
data() {
|
|
129
|
-
return {
|
|
130
|
-
minDate: new Date(2020, 0, 1).getTime(),
|
|
131
|
-
maxDate: new Date(2025, 10, 1).getTime(),
|
|
132
|
-
currentDate: new Date().getTime(),
|
|
133
|
-
showDatePicker: false
|
|
134
|
-
};
|
|
135
|
-
},
|
|
136
|
-
methods: {
|
|
137
|
-
onConfirmPad(date) {
|
|
138
|
-
console.log(date);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
::: endif
|
|
145
|
-
::: ifdef M84
|
|
146
|
-
|
|
147
|
-
```js
|
|
148
|
-
import { ref } from 'vue';
|
|
149
|
-
const minDate = ref(new Date(2020, 0, 1).getTime());
|
|
150
|
-
const maxDate = ref(new Date(2025, 10, 1).getTime());
|
|
151
|
-
const currentDate = ref(new Date().getTime());
|
|
152
|
-
const showDatePicker = ref(false);
|
|
153
|
-
|
|
154
|
-
function onConfirmPad(date) {
|
|
155
|
-
console.log(date);
|
|
156
|
-
}
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
::: endif
|
|
160
|
-
|
|
161
|
-
#### 选择年月
|
|
162
|
-
|
|
163
|
-
将 `type` 设置为 `year-month` 即可选择年份和月份。通过传入 `formatter` 函数,可以对选项文字进行格式化处理。
|
|
164
|
-
|
|
165
|
-
```html
|
|
166
|
-
<em-date-picker
|
|
167
|
-
v-model="showDatePicker"
|
|
168
|
-
type="year-month"
|
|
169
|
-
title="选择年月"
|
|
170
|
-
:current-date="currentDate"
|
|
171
|
-
:min-date="minDate"
|
|
172
|
-
:max-date="maxDate"
|
|
173
|
-
:formatter="formatter"
|
|
174
|
-
/>
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
::: ifdef M83
|
|
178
|
-
|
|
179
|
-
```js
|
|
180
|
-
export default {
|
|
181
|
-
data() {
|
|
182
|
-
return {
|
|
183
|
-
minDate: new Date(2020, 0, 1).getTime(),
|
|
184
|
-
maxDate: new Date(2025, 10, 1).getTime(),
|
|
185
|
-
currentDate: new Date().getTime(),
|
|
186
|
-
showDatePicker: false
|
|
187
|
-
};
|
|
188
|
-
},
|
|
189
|
-
methods: {
|
|
190
|
-
formatter(type, val) {
|
|
191
|
-
if (type === 'year') {
|
|
192
|
-
return `${val}年`;
|
|
193
|
-
} else if (type === 'month') {
|
|
194
|
-
return `${val}月`;
|
|
195
|
-
}
|
|
196
|
-
return val;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
::: endif
|
|
203
|
-
::: ifdef M84
|
|
204
|
-
|
|
205
|
-
```js
|
|
206
|
-
import { ref } from 'vue';
|
|
207
|
-
const minDate = ref(new Date(2020, 0, 1).getTime());
|
|
208
|
-
const maxDate = ref(new Date(2025, 10, 1).getTime());
|
|
209
|
-
const currentDate = ref(new Date().getTime());
|
|
210
|
-
const showDatePicker = ref(false);
|
|
211
|
-
|
|
212
|
-
function formatter(type, val) {
|
|
213
|
-
if (type === 'year') {
|
|
214
|
-
return `${val}年`;
|
|
215
|
-
} else if (type === 'month') {
|
|
216
|
-
return `${val}月`;
|
|
217
|
-
}
|
|
218
|
-
return val;
|
|
219
|
-
}
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
::: endif
|
|
223
|
-
|
|
224
|
-
#### 选择月日
|
|
225
|
-
|
|
226
|
-
将 `type` 设置为 `month-day` 即可选择月份和日期。
|
|
227
|
-
|
|
228
|
-
```html
|
|
229
|
-
<em-date-picker
|
|
230
|
-
v-model="showDatePicker"
|
|
231
|
-
type="month-day"
|
|
232
|
-
title="选择月日"
|
|
233
|
-
:current-date="currentDate"
|
|
234
|
-
:min-date="minDate"
|
|
235
|
-
:formatter="formatter"
|
|
236
|
-
/>
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
::: ifdef M83
|
|
240
|
-
|
|
241
|
-
```js
|
|
242
|
-
export default {
|
|
243
|
-
data() {
|
|
244
|
-
return {
|
|
245
|
-
minDate: new Date(2020, 0, 1).getTime(),
|
|
246
|
-
maxDate: new Date(2025, 10, 1).getTime(),
|
|
247
|
-
currentDate: new Date().getTime(),
|
|
248
|
-
showDatePicker: false
|
|
249
|
-
};
|
|
250
|
-
},
|
|
251
|
-
methods: {
|
|
252
|
-
formatter(type, val) {
|
|
253
|
-
if (type === 'month') {
|
|
254
|
-
return `${val}月`;
|
|
255
|
-
} else if (type === 'day') {
|
|
256
|
-
return `${val}日`;
|
|
257
|
-
}
|
|
258
|
-
return val;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
};
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
::: endif
|
|
265
|
-
::: ifdef M84
|
|
266
|
-
|
|
267
|
-
```js
|
|
268
|
-
import { ref } from 'vue';
|
|
269
|
-
const minDate = ref(new Date(2020, 0, 1).getTime());
|
|
270
|
-
const maxDate = ref(new Date(2025, 10, 1).getTime());
|
|
271
|
-
const currentDate = ref(new Date().getTime());
|
|
272
|
-
const showDatePicker = ref(false);
|
|
273
|
-
|
|
274
|
-
function formatter(type, val) {
|
|
275
|
-
if (type === 'month') {
|
|
276
|
-
return `${val}月`;
|
|
277
|
-
} else if (type === 'day') {
|
|
278
|
-
return `${val}日`;
|
|
279
|
-
}
|
|
280
|
-
return val;
|
|
281
|
-
}
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
::: endif
|
|
285
|
-
|
|
286
|
-
#### 选择时间
|
|
287
|
-
|
|
288
|
-
将 `type` 设置为 `time` 即可选择时间(小时和分钟)
|
|
289
|
-
|
|
290
|
-
```html
|
|
291
|
-
<em-date-picker
|
|
292
|
-
v-model="showDatePicker"
|
|
293
|
-
type="time"
|
|
294
|
-
title="选择时间"
|
|
295
|
-
:current-date="currentTime"
|
|
296
|
-
:min-hour="10"
|
|
297
|
-
:max-hour="20"
|
|
298
|
-
/>
|
|
299
|
-
```
|
|
300
|
-
::: ifdef M83
|
|
301
|
-
```js
|
|
302
|
-
export default {
|
|
303
|
-
data() {
|
|
304
|
-
return {
|
|
305
|
-
currentTime: '12:00',
|
|
306
|
-
showDatePicker: false
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
};
|
|
310
|
-
```
|
|
311
|
-
::: endif
|
|
312
|
-
::: ifdef M84
|
|
313
|
-
```js
|
|
314
|
-
import { ref } from 'vue';
|
|
315
|
-
const currentTime = ref('12:00');
|
|
316
|
-
const showDatePicker = ref(false);
|
|
317
|
-
```
|
|
318
|
-
::: endif
|
|
319
|
-
|
|
320
|
-
#### 选择完整时间
|
|
321
|
-
|
|
322
|
-
将 `type` 设置为 `datetime` 即可选择完整时间,包括年月日和小时、分钟。
|
|
323
|
-
|
|
324
|
-
```html
|
|
325
|
-
<em-date-picker
|
|
326
|
-
v-model="showDatePicker"
|
|
327
|
-
:current-date="currentDate"
|
|
328
|
-
type="datetime"
|
|
329
|
-
title="选择完整时间"
|
|
330
|
-
:min-date="minDate"
|
|
331
|
-
:max-date="maxDate"
|
|
332
|
-
></em-date-picker>
|
|
333
|
-
```
|
|
334
|
-
::: ifdef M83
|
|
335
|
-
```js
|
|
336
|
-
export default {
|
|
337
|
-
data() {
|
|
338
|
-
return {
|
|
339
|
-
minDate: new Date(2020, 0, 1).getTime(),
|
|
340
|
-
maxDate: new Date(2025, 10, 1).getTime(),
|
|
341
|
-
currentDate: new Date().getTime(),
|
|
342
|
-
showDatePicker: false
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
};
|
|
346
|
-
```
|
|
347
|
-
::: endif
|
|
348
|
-
::: ifdef M84
|
|
349
|
-
```js
|
|
350
|
-
import { ref } from 'vue';
|
|
351
|
-
const minDate = ref(new Date(2020, 0, 1).getTime());
|
|
352
|
-
const maxDate = ref(new Date(2025, 10, 1).getTime());
|
|
353
|
-
const currentDate = ref(new Date().getTime());
|
|
354
|
-
const showDatePicker = ref(false);
|
|
355
|
-
```
|
|
356
|
-
::: endif
|
|
357
|
-
|
|
358
|
-
#### 选择年月日小时
|
|
359
|
-
|
|
360
|
-
将 `type` 设置为 `datehour` 即可选择日期和小时,包括年月日和小时。
|
|
361
|
-
|
|
362
|
-
```html
|
|
363
|
-
<em-date-picker
|
|
364
|
-
v-model="showDatePicker"
|
|
365
|
-
type="datehour"
|
|
366
|
-
title="选择年月日小时"
|
|
367
|
-
:current-date="currentDate"
|
|
368
|
-
:min-date="minDate"
|
|
369
|
-
:max-date="maxDate"
|
|
370
|
-
/>
|
|
371
|
-
```
|
|
372
|
-
::: ifdef M83
|
|
373
|
-
```js
|
|
374
|
-
export default {
|
|
375
|
-
data() {
|
|
376
|
-
return {
|
|
377
|
-
minDate: new Date(2020, 0, 1).getTime(),
|
|
378
|
-
maxDate: new Date(2025, 10, 1).getTime(),
|
|
379
|
-
currentDate: new Date().getTime(),
|
|
380
|
-
showDatePicker: false
|
|
381
|
-
};
|
|
382
|
-
}
|
|
383
|
-
};
|
|
384
|
-
```
|
|
385
|
-
::: endif
|
|
386
|
-
::: ifdef M84
|
|
387
|
-
```js
|
|
388
|
-
import { ref } from 'vue';
|
|
389
|
-
const minDate = ref(new Date(2020, 0, 1).getTime());
|
|
390
|
-
const maxDate = ref(new Date(2025, 10, 1).getTime());
|
|
391
|
-
const currentDate = ref(new Date().getTime());
|
|
392
|
-
const showDatePicker = ref(false);
|
|
393
|
-
```
|
|
394
|
-
::: endif
|
|
395
|
-
|
|
396
|
-
#### 选项过滤器
|
|
397
|
-
|
|
398
|
-
通过传入 `filter` 函数,可以对选项数组进行过滤,实现自定义时间间隔。
|
|
399
|
-
|
|
400
|
-
```html
|
|
401
|
-
<em-date-picker v-model="showDatePicker" type="time" title="选项过滤器" :current-date="currentTime" :filter="filter" />
|
|
402
|
-
```
|
|
403
|
-
::: ifdef M83
|
|
404
|
-
```js
|
|
405
|
-
export default {
|
|
406
|
-
data() {
|
|
407
|
-
return {
|
|
408
|
-
currentTime: '12:00',
|
|
409
|
-
showDatePicker: false
|
|
410
|
-
};
|
|
411
|
-
},
|
|
412
|
-
methods: {
|
|
413
|
-
filter(type, options) {
|
|
414
|
-
if (type === 'minute') {
|
|
415
|
-
return options.filter((option) => option % 5 === 0);
|
|
416
|
-
}
|
|
417
|
-
return options;
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
};
|
|
421
|
-
```
|
|
422
|
-
::: endif
|
|
423
|
-
::: ifdef M84
|
|
424
|
-
```js
|
|
425
|
-
import { ref } from 'vue';
|
|
426
|
-
const currentTime = ref('12:00');
|
|
427
|
-
const showDatePicker = ref(false);
|
|
428
|
-
|
|
429
|
-
function filter(type, options) {
|
|
430
|
-
if (type === 'minute') {
|
|
431
|
-
return options.filter((option) => option % 5 === 0);
|
|
432
|
-
}
|
|
433
|
-
return options;
|
|
434
|
-
}
|
|
435
|
-
```
|
|
436
|
-
::: endif
|
|
437
|
-
|
|
438
|
-
#### 自定义列排序
|
|
439
|
-
|
|
440
|
-
```html
|
|
441
|
-
<em-date-picker
|
|
442
|
-
v-model="showDatePicker"
|
|
443
|
-
type="date"
|
|
444
|
-
title="自定义列排序"
|
|
445
|
-
:current-date="currentDate"
|
|
446
|
-
:columns-order="['month', 'day', 'year']"
|
|
447
|
-
:formatter="formatter"
|
|
448
|
-
/>
|
|
449
|
-
```
|
|
450
|
-
::: ifdef M83
|
|
451
|
-
```js
|
|
452
|
-
export default {
|
|
453
|
-
data() {
|
|
454
|
-
return {
|
|
455
|
-
currentDate: new Date().getTime(),
|
|
456
|
-
showDatePicker: false
|
|
457
|
-
};
|
|
458
|
-
},
|
|
459
|
-
methods: {
|
|
460
|
-
formatter(type, val) {
|
|
461
|
-
if (type === 'year') {
|
|
462
|
-
return val + '年';
|
|
463
|
-
}
|
|
464
|
-
if (type === 'month') {
|
|
465
|
-
return val + '月';
|
|
466
|
-
}
|
|
467
|
-
if (type === 'day') {
|
|
468
|
-
return val + '日';
|
|
469
|
-
}
|
|
470
|
-
return val;
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
};
|
|
474
|
-
```
|
|
475
|
-
::: endif
|
|
476
|
-
::: ifdef M84
|
|
477
|
-
```js
|
|
478
|
-
import { ref } from 'vue';
|
|
479
|
-
const currentDate = ref(new Date().getTime());
|
|
480
|
-
const showDatePicker = ref(false);
|
|
481
|
-
|
|
482
|
-
function formatter(type, val) {
|
|
483
|
-
if (type === 'year') {
|
|
484
|
-
return val + '年';
|
|
485
|
-
}
|
|
486
|
-
if (type === 'month') {
|
|
487
|
-
return val + '月';
|
|
488
|
-
}
|
|
489
|
-
if (type === 'day') {
|
|
490
|
-
return val + '日';
|
|
491
|
-
}
|
|
492
|
-
return val;
|
|
493
|
-
}
|
|
494
|
-
```
|
|
495
|
-
::: endif
|
|
496
|
-
|
|
497
|
-
### API
|
|
498
|
-
|
|
499
|
-
#### DatePicker Props
|
|
500
|
-
|
|
501
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
502
|
-
| :--------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------: | :------------------- | :------------------------------------------------------ |
|
|
503
|
-
| v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 时间选择组件的显隐 | boolean | `false` |
|
|
504
|
-
| current-date | 设置的初始时间,当`range`为`true`时,支持传入数组(`v8.3.5`开始支持) | number /string/array | 时间类型为`time`时:`00:00`,否则`new Date().getTime()` |
|
|
505
|
-
| type | 时间类型,可选值为 `date` `time` `year-month` `month-day` `datehour` | string | `datetime` |
|
|
506
|
-
| title | 顶部栏标题 | string | '' |
|
|
507
|
-
| confirm-button-text | 确认按钮文字 | string | `确认` |
|
|
508
|
-
| cancel-button-text | 取消按钮文字 | string | `取消` |
|
|
509
|
-
| show-toolbar | 是否显示顶部栏 | boolean | `true` |
|
|
510
|
-
| loading | 是否显示加载状态 | boolean | `false` |
|
|
511
|
-
| readonly | 是否为只读状态,只读状态下无法切换选项 | boolean | `false` |
|
|
512
|
-
| filter | 选项过滤函数 | (type, vals) => vals | - |
|
|
513
|
-
| formatter | 选项格式化函数 | (type, val) => val | - |
|
|
514
|
-
| columns-order | 自定义列排序数组, 子项可选值为`year`、`month`、`day`、`hour`、`minute` | string[] | - |
|
|
515
|
-
| item-height | 选项高度,支持 `px` `vw` `rem` 单位,默认 `px` | number / string | `44` |
|
|
516
|
-
| visible-item-count | 可见的选项个数 | number / string | `6` |
|
|
517
|
-
| swipe-duration | 快速滑动时惯性滚动的时长,单位`ms` | number / string | `1000` |
|
|
518
|
-
| range | 是否选择时间范围 | boolean | `false` |
|
|
519
|
-
| pad | 是否设为`pad`端样式,该属性为`true`时,默认选择年月日,`basic`自动为`true`,使用基座样式 | boolean | `false` |
|
|
520
|
-
|
|
521
|
-
#### DateTimePicker Props
|
|
522
|
-
|
|
523
|
-
当时间选择器类型为 `date` 或 `datetime` 时,支持以下 `props`:
|
|
524
|
-
|
|
525
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
526
|
-
| :------- | :------------------------: | :----- | :------- |
|
|
527
|
-
| min-date | 可选的最小时间,精确到分钟 | number | `十年前` |
|
|
528
|
-
| max-date | 可选的最大时间,精确到分钟 | number | `十年后` |
|
|
529
|
-
|
|
530
|
-
#### TimePicker Props
|
|
531
|
-
|
|
532
|
-
当时间选择器类型为 `time` 时,支持以下 `props`:
|
|
533
|
-
|
|
534
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
535
|
-
| :--------- | :------------: | :----- | :----- |
|
|
536
|
-
| min-hour | 可选的最小小时 | number | `0` |
|
|
537
|
-
| max-hour | 可选的最大小时 | number | `23` |
|
|
538
|
-
| min-minute | 可选的最小分钟 | number | `0` |
|
|
539
|
-
| max-minute | 可选的最大分钟 | number | `59` |
|
|
540
|
-
|
|
541
|
-
#### Popup Props
|
|
542
|
-
|
|
543
|
-
时间选择组件已经包裹了`popup`组件,故也支持传递`popup`组件的部分`props`。相关`props`的具体示例请参考`popup`组件章节。
|
|
544
|
-
|
|
545
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
546
|
-
| :--------------------- | :---------------------------------------: | :------ | :----- |
|
|
547
|
-
| overlay | 是否显示遮罩层 | boolean | `true` |
|
|
548
|
-
| overlay-style | 自定义遮罩层样式 | object | - |
|
|
549
|
-
| transition | 动画类名,等价于 `transtion` 的`name`属性 | string | - |
|
|
550
|
-
| close-on-click-overlay | 是否在点击遮罩层后关闭 | boolean | `true` |
|
|
551
|
-
| lock-scroll | 是否锁定背景滚动 | boolean | `true` |
|
|
552
|
-
|
|
553
|
-
#### DatePicker Events
|
|
554
|
-
|
|
555
|
-
| 事件名 | 说明 | 回调参数 |
|
|
556
|
-
| :------ | :----------------------: | :------------------------------------------------ |
|
|
557
|
-
| change | 当值变化时触发的事件 | `picker`: `Picker` 实例 |
|
|
558
|
-
| confirm | 点击完成按钮时触发的事件 | `value`: 当前选中的时间,选择时间范围时是一个数组 |
|
|
559
|
-
| cancel | 点击取消按钮时触发的事件 | - |
|
|
560
|
-
|
|
561
|
-
#### Popup Events
|
|
562
|
-
|
|
563
|
-
时间选择组件已经包裹了`popup`组件,故也支持`popup`组件的部分事件。相关事件的具体示例请参考`popup`组件章节。
|
|
564
|
-
|
|
565
|
-
| 事件名 | 说明 | 回调参数 |
|
|
566
|
-
| :----- | :--------------: | :-------------------------- |
|
|
567
|
-
| close | 关闭弹出层时触发 | `value`: 当前弹出层是否展开 |
|
|
568
|
-
|
|
569
|
-
#### DatePicker Slots
|
|
570
|
-
|
|
571
|
-
| 名称 | 说明 | 参数 |
|
|
572
|
-
| :------------ | :--------------------: | :--- |
|
|
573
|
-
| default | 自定义整个顶部栏的内容 | - |
|
|
574
|
-
| title | 自定义标题内容 | - |
|
|
575
|
-
| confirm | 自定义确认按钮内容 | - |
|
|
576
|
-
| cancel | 自定义取消按钮内容 | - |
|
|
577
|
-
| columnsTop | 自定义选项上方内容 | - |
|
|
578
|
-
| columnsBottom | 自定义选项下方内容 | - |
|
|
579
|
-
|
|
580
|
-
#### 方法
|
|
581
|
-
|
|
582
|
-
通过 `ref` 可以获取到 `DatetimePicker` 实例并调用实例方法
|
|
583
|
-
|
|
584
|
-
| 方法名 | 说明 | 参数 | 返回值 |
|
|
585
|
-
| :-------- | :----------------------------------------------: | :--- | :----- |
|
|
586
|
-
| getPicker | 获取 `Picker` 实例,用于调用 `Picker` 的实例方法 | - | - |
|
|
587
|
-
|
|
588
|
-
::: ifdef M83
|
|
589
|
-
<iframe
|
|
590
|
-
src="//app.epoint.com.cn/ejsdoc/showcase/m8-showcase/default.html#/datepicker"
|
|
591
|
-
frameborder=0
|
|
592
|
-
allowfullscreen class="ui-showcase-iframe">
|
|
593
|
-
</iframe>
|
|
594
|
-
::: endif
|
|
595
|
-
::: ifdef M84
|
|
596
|
-
<iframe
|
|
597
|
-
src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-date-picker"
|
|
598
|
-
frameborder=0
|
|
599
|
-
allowfullscreen class="ui-showcase-iframe">
|
|
600
|
-
</iframe>
|
|
601
|
-
::: endif
|
|
602
|
-
|
|
603
|
-
<style>
|
|
604
|
-
.ui-showcase-iframe {
|
|
605
|
-
position: fixed;
|
|
606
|
-
right: 3.5vw;
|
|
607
|
-
top: 17%;
|
|
608
|
-
width: 375px;
|
|
609
|
-
height: 75vh;
|
|
610
|
-
box-shadow: 0 0 12px 6px #eee;
|
|
611
|
-
border-radius: 15px;
|
|
612
|
-
}
|
|
613
|
-
.main .markdown-body {
|
|
614
|
-
padding: 45px;
|
|
615
|
-
width: calc(97vw - 661px);
|
|
616
|
-
}
|
|
617
|
-
</style>
|