vxe-pc-ui 4.1.20 → 4.1.21
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/README.md +82 -1
- package/es/anchor/src/anchor-link.js +1 -1
- package/es/anchor/src/anchor.js +1 -1
- package/es/breadcrumb/src/breadcrumb.js +1 -1
- package/es/button/src/button-group.js +4 -1
- package/es/calendar/src/calendar.js +64 -32
- package/es/carousel/src/carousel-item.js +13 -3
- package/es/carousel/src/carousel.js +16 -8
- package/es/checkbox/src/checkbox.js +30 -14
- package/es/checkbox/src/group.js +17 -8
- package/es/collapse-pane/index.js +1 -1
- package/es/countdown/src/countdown.js +1 -1
- package/es/date-picker/src/date-picker.js +12 -12
- package/es/drawer/src/drawer.js +1 -1
- package/es/form/render/index.js +1 -2
- package/es/form/src/form-config-item.js +4 -3
- package/es/form/src/form-gather.js +5 -3
- package/es/form/src/form-item.js +15 -10
- package/es/form/src/form.js +11 -8
- package/es/form/src/render.js +2 -1
- package/es/form/src/util.js +2 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +22 -10
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +129 -65
- package/es/layout-aside/src/layout-aside.js +1 -1
- package/es/list/src/list.js +7 -5
- package/es/list-design/src/list-design.js +1 -1
- package/es/list-design/src/list-view.js +1 -1
- package/es/loading/src/loading.js +1 -1
- package/es/menu/src/menu.js +1 -1
- package/es/number-input/src/number-input.js +6 -6
- package/es/pager/src/pager.js +85 -45
- package/es/password-input/src/password-input.js +2 -2
- package/es/print/src/page-break.js +11 -2
- package/es/print/src/print.js +6 -4
- package/es/radio/src/group.js +5 -2
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +11 -8
- package/es/select/src/option.js +9 -7
- package/es/select/src/select.js +32 -29
- package/es/select/src/util.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tab-pane.js +13 -3
- package/es/tabs/src/tabs.js +57 -47
- package/es/textarea/src/textarea.js +4 -4
- package/es/tooltip/src/tooltip.js +1 -1
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +16 -9
- package/es/ui/index.js +1 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -5
- package/lib/anchor/src/anchor-link.js +1 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +1 -1
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
- package/lib/button/src/button-group.js +4 -1
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/carousel/src/carousel-item.js +16 -3
- package/lib/carousel/src/carousel-item.min.js +1 -1
- package/lib/carousel/src/carousel.js +18 -8
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +16 -12
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +10 -7
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/collapse-pane/index.js +1 -1
- package/lib/collapse-pane/index.min.js +1 -1
- package/lib/countdown/src/countdown.js +1 -1
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +12 -12
- package/lib/drawer/src/drawer.js +1 -1
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/form/render/index.js +1 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form-config-item.js +4 -5
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +11 -9
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +11 -12
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +7 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/util.js +2 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +20 -11
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +4 -1
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/preview.js +1 -1
- package/lib/image/src/preview.min.js +1 -1
- package/lib/index.umd.js +522 -377
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +77 -50
- package/lib/input/src/input.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +1 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/list/src/list.js +9 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/list-design/src/list-design.js +1 -1
- package/lib/list-design/src/list-design.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/loading/src/loading.js +1 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +6 -6
- package/lib/pager/src/pager.js +40 -39
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/password-input/src/password-input.js +2 -2
- package/lib/print/src/page-break.js +14 -2
- package/lib/print/src/page-break.min.js +1 -1
- package/lib/print/src/print.js +8 -6
- package/lib/print/src/print.min.js +1 -1
- package/lib/radio/src/group.js +5 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/row/src/row.js +1 -1
- package/lib/row/src/row.min.js +1 -1
- package/lib/select/src/optgroup.js +12 -9
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +9 -7
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +33 -32
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +2 -2
- package/lib/select/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tab-pane.js +16 -3
- package/lib/tabs/src/tab-pane.min.js +1 -1
- package/lib/tabs/src/tabs.js +62 -50
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -4
- package/lib/tooltip/src/tooltip.js +1 -1
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree/src/tree.js +2 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +11 -7
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +3 -10
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +5 -5
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +2 -2
- package/packages/anchor/src/anchor-link.ts +2 -2
- package/packages/anchor/src/anchor.ts +2 -2
- package/packages/breadcrumb/src/breadcrumb.ts +2 -2
- package/packages/button/src/button-group.ts +4 -1
- package/packages/calendar/src/calendar.ts +67 -35
- package/packages/carousel/src/carousel-item.ts +19 -4
- package/packages/carousel/src/carousel.ts +19 -11
- package/packages/checkbox/src/checkbox.ts +34 -15
- package/packages/checkbox/src/group.ts +22 -10
- package/packages/collapse-pane/index.ts +1 -1
- package/packages/countdown/src/countdown.ts +2 -2
- package/packages/date-picker/src/date-picker.ts +12 -12
- package/packages/drawer/src/drawer.ts +2 -2
- package/packages/form/render/index.ts +1 -3
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-gather.ts +5 -3
- package/packages/form/src/form-item.ts +15 -10
- package/packages/form/src/form.ts +12 -10
- package/packages/form/src/render.ts +2 -1
- package/packages/form/src/util.ts +2 -1
- package/packages/icon-picker/src/icon-picker.ts +26 -13
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +133 -71
- package/packages/layout-aside/src/layout-aside.ts +2 -2
- package/packages/list/src/list.ts +12 -11
- package/packages/list-design/src/list-design.ts +2 -2
- package/packages/list-design/src/list-view.ts +2 -2
- package/packages/loading/src/loading.ts +2 -2
- package/packages/menu/src/menu.ts +2 -2
- package/packages/number-input/src/number-input.ts +6 -6
- package/packages/pager/src/pager.ts +91 -50
- package/packages/password-input/src/password-input.ts +2 -2
- package/packages/print/src/page-break.ts +18 -4
- package/packages/print/src/print.ts +10 -5
- package/packages/radio/src/group.ts +6 -3
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +16 -13
- package/packages/select/src/option.ts +10 -8
- package/packages/select/src/select.ts +42 -36
- package/packages/select/src/util.ts +3 -3
- package/packages/tabs/src/tab-pane.ts +20 -5
- package/packages/tabs/src/tabs.ts +59 -49
- package/packages/textarea/src/textarea.ts +4 -4
- package/packages/tooltip/src/tooltip.ts +2 -2
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +20 -12
- package/packages/ui/index.ts +0 -7
- package/packages/upload/src/upload.ts +6 -6
- package/types/components/calendar.d.ts +6 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/form.d.ts +4 -2
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/list.d.ts +1 -0
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -0
- package/types/components/tree-select.d.ts +4 -0
- package/types/ui/index.d.ts +0 -22
- /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/es/icon/style/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/es/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/es/input/src/input.js
CHANGED
|
@@ -10,10 +10,19 @@ export default defineComponent({
|
|
|
10
10
|
name: 'VxeInput',
|
|
11
11
|
props: {
|
|
12
12
|
modelValue: [String, Number, Date],
|
|
13
|
-
immediate: {
|
|
13
|
+
immediate: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: true
|
|
16
|
+
},
|
|
14
17
|
name: String,
|
|
15
|
-
type: {
|
|
16
|
-
|
|
18
|
+
type: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: 'text'
|
|
21
|
+
},
|
|
22
|
+
clearable: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: () => getConfig().input.clearable
|
|
25
|
+
},
|
|
17
26
|
readonly: {
|
|
18
27
|
type: Boolean,
|
|
19
28
|
default: null
|
|
@@ -24,39 +33,81 @@ export default defineComponent({
|
|
|
24
33
|
},
|
|
25
34
|
placeholder: String,
|
|
26
35
|
maxLength: [String, Number],
|
|
27
|
-
autoComplete: {
|
|
36
|
+
autoComplete: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: 'off'
|
|
39
|
+
},
|
|
28
40
|
align: String,
|
|
29
41
|
form: String,
|
|
30
42
|
className: String,
|
|
31
|
-
size: {
|
|
43
|
+
size: {
|
|
44
|
+
type: String,
|
|
45
|
+
default: () => getConfig().input.size || getConfig().size
|
|
46
|
+
},
|
|
32
47
|
multiple: Boolean,
|
|
33
48
|
// text
|
|
34
49
|
showWordCount: Boolean,
|
|
35
50
|
countMethod: Function,
|
|
36
51
|
// number、integer、float
|
|
37
|
-
min: {
|
|
38
|
-
|
|
52
|
+
min: {
|
|
53
|
+
type: [String, Number],
|
|
54
|
+
default: null
|
|
55
|
+
},
|
|
56
|
+
max: {
|
|
57
|
+
type: [String, Number],
|
|
58
|
+
default: null
|
|
59
|
+
},
|
|
39
60
|
step: [String, Number],
|
|
40
|
-
exponential: {
|
|
61
|
+
exponential: {
|
|
62
|
+
type: Boolean,
|
|
63
|
+
default: () => getConfig().input.exponential
|
|
64
|
+
},
|
|
41
65
|
// number、integer、float、password
|
|
42
|
-
controls: {
|
|
66
|
+
controls: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: () => getConfig().input.controls
|
|
69
|
+
},
|
|
43
70
|
// float
|
|
44
|
-
digits: {
|
|
71
|
+
digits: {
|
|
72
|
+
type: [String, Number],
|
|
73
|
+
default: () => getConfig().input.digits
|
|
74
|
+
},
|
|
45
75
|
// date、week、month、quarter、year
|
|
46
|
-
startDate: {
|
|
47
|
-
|
|
76
|
+
startDate: {
|
|
77
|
+
type: [String, Number, Date],
|
|
78
|
+
default: () => getConfig().input.startDate
|
|
79
|
+
},
|
|
80
|
+
endDate: {
|
|
81
|
+
type: [String, Number, Date],
|
|
82
|
+
default: () => getConfig().input.endDate
|
|
83
|
+
},
|
|
48
84
|
minDate: [String, Number, Date],
|
|
49
85
|
maxDate: [String, Number, Date],
|
|
50
86
|
// 已废弃 startWeek,被 startDay 替换
|
|
51
87
|
startWeek: Number,
|
|
52
|
-
startDay: {
|
|
88
|
+
startDay: {
|
|
89
|
+
type: [String, Number],
|
|
90
|
+
default: () => getConfig().input.startDay
|
|
91
|
+
},
|
|
53
92
|
labelFormat: String,
|
|
54
93
|
valueFormat: String,
|
|
55
|
-
editable: {
|
|
56
|
-
|
|
57
|
-
|
|
94
|
+
editable: {
|
|
95
|
+
type: Boolean,
|
|
96
|
+
default: true
|
|
97
|
+
},
|
|
98
|
+
festivalMethod: {
|
|
99
|
+
type: Function,
|
|
100
|
+
default: () => getConfig().input.festivalMethod
|
|
101
|
+
},
|
|
102
|
+
disabledMethod: {
|
|
103
|
+
type: Function,
|
|
104
|
+
default: () => getConfig().input.disabledMethod
|
|
105
|
+
},
|
|
58
106
|
// week
|
|
59
|
-
selectDay: {
|
|
107
|
+
selectDay: {
|
|
108
|
+
type: [String, Number],
|
|
109
|
+
default: () => getConfig().input.selectDay
|
|
110
|
+
},
|
|
60
111
|
prefixIcon: String,
|
|
61
112
|
suffixIcon: String,
|
|
62
113
|
placement: String,
|
|
@@ -99,16 +150,13 @@ export default defineComponent({
|
|
|
99
150
|
const formItemInfo = inject('xeFormItemInfo', null);
|
|
100
151
|
const xID = XEUtils.uniqueId();
|
|
101
152
|
const { computeSize } = useSize(props);
|
|
102
|
-
const yearSize = 12;
|
|
103
|
-
const monthSize = 20;
|
|
104
|
-
const quarterSize = 8;
|
|
105
153
|
const reactData = reactive({
|
|
106
154
|
initialized: false,
|
|
107
155
|
panelIndex: 0,
|
|
108
156
|
showPwd: false,
|
|
109
157
|
visiblePanel: false,
|
|
110
158
|
isAniVisible: false,
|
|
111
|
-
panelStyle:
|
|
159
|
+
panelStyle: {},
|
|
112
160
|
panelPlacement: '',
|
|
113
161
|
isActivated: false,
|
|
114
162
|
inputValue: props.modelValue,
|
|
@@ -119,6 +167,13 @@ export default defineComponent({
|
|
|
119
167
|
selectMonth: null,
|
|
120
168
|
currentDate: null
|
|
121
169
|
});
|
|
170
|
+
const internalData = {
|
|
171
|
+
yearSize: 12,
|
|
172
|
+
monthSize: 20,
|
|
173
|
+
quarterSize: 8,
|
|
174
|
+
hpTimeout: undefined,
|
|
175
|
+
dnTimeout: undefined
|
|
176
|
+
};
|
|
122
177
|
const refElem = ref();
|
|
123
178
|
const refInputTarget = ref();
|
|
124
179
|
const refInputPanel = ref();
|
|
@@ -133,6 +188,7 @@ export default defineComponent({
|
|
|
133
188
|
props,
|
|
134
189
|
context,
|
|
135
190
|
reactData,
|
|
191
|
+
internalData,
|
|
136
192
|
getRefMaps: () => refMaps
|
|
137
193
|
};
|
|
138
194
|
let inputMethods = {};
|
|
@@ -325,10 +381,11 @@ export default defineComponent({
|
|
|
325
381
|
if (isDatePickerType) {
|
|
326
382
|
return labelFormat || dateValueFormat || getI18n(`vxe.input.date.labelFormat.${props.type}`);
|
|
327
383
|
}
|
|
328
|
-
return
|
|
384
|
+
return '';
|
|
329
385
|
});
|
|
330
386
|
const computeYearList = computed(() => {
|
|
331
387
|
const { selectMonth, currentDate } = reactData;
|
|
388
|
+
const { yearSize } = internalData;
|
|
332
389
|
const years = [];
|
|
333
390
|
if (selectMonth && currentDate) {
|
|
334
391
|
const currFullYear = currentDate.getFullYear();
|
|
@@ -422,6 +479,7 @@ export default defineComponent({
|
|
|
422
479
|
});
|
|
423
480
|
const computeQuarterList = computed(() => {
|
|
424
481
|
const { selectMonth, currentDate } = reactData;
|
|
482
|
+
const { quarterSize } = internalData;
|
|
425
483
|
const quarters = [];
|
|
426
484
|
if (selectMonth && currentDate) {
|
|
427
485
|
const currFullYear = currentDate.getFullYear();
|
|
@@ -451,6 +509,7 @@ export default defineComponent({
|
|
|
451
509
|
});
|
|
452
510
|
const computeMonthList = computed(() => {
|
|
453
511
|
const { selectMonth, currentDate } = reactData;
|
|
512
|
+
const { monthSize } = internalData;
|
|
454
513
|
const months = [];
|
|
455
514
|
if (selectMonth && currentDate) {
|
|
456
515
|
const currFullYear = currentDate.getFullYear();
|
|
@@ -595,12 +654,6 @@ export default defineComponent({
|
|
|
595
654
|
}
|
|
596
655
|
return getI18n('vxe.base.pleaseInput');
|
|
597
656
|
});
|
|
598
|
-
const computeInpMaxlength = computed(() => {
|
|
599
|
-
const isNumType = computeIsNumType.value;
|
|
600
|
-
const inpMaxLength = computeInpMaxLength.value;
|
|
601
|
-
// 数值最大长度限制 16 位,包含小数
|
|
602
|
-
return isNumType && !XEUtils.toNumber(inpMaxLength) ? 16 : inpMaxLength;
|
|
603
|
-
});
|
|
604
657
|
const computeInpImmediate = computed(() => {
|
|
605
658
|
const { type, immediate } = props;
|
|
606
659
|
return immediate || !(type === 'text' || type === 'number' || type === 'integer' || type === 'float');
|
|
@@ -638,19 +691,19 @@ export default defineComponent({
|
|
|
638
691
|
});
|
|
639
692
|
const getNumberValue = (val) => {
|
|
640
693
|
const { type, exponential } = props;
|
|
641
|
-
const
|
|
694
|
+
const inpMaxLength = computeInpMaxLength.value;
|
|
642
695
|
const digitsValue = computeDigitsValue.value;
|
|
643
696
|
const restVal = (type === 'float' ? toFloatValueFixed(val, digitsValue) : XEUtils.toValueString(val));
|
|
644
697
|
if (exponential && (val === restVal || XEUtils.toValueString(val).toLowerCase() === XEUtils.toNumber(restVal).toExponential())) {
|
|
645
698
|
return val;
|
|
646
699
|
}
|
|
647
|
-
return restVal.slice(0,
|
|
700
|
+
return restVal.slice(0, inpMaxLength);
|
|
648
701
|
};
|
|
649
702
|
const triggerEvent = (evnt) => {
|
|
650
703
|
const { inputValue } = reactData;
|
|
651
704
|
inputMethods.dispatchEvent(evnt.type, { value: inputValue }, evnt);
|
|
652
705
|
};
|
|
653
|
-
const
|
|
706
|
+
const handleChange = (value, evnt) => {
|
|
654
707
|
reactData.inputValue = value;
|
|
655
708
|
emit('update:modelValue', value);
|
|
656
709
|
inputMethods.dispatchEvent('input', { value }, evnt);
|
|
@@ -668,7 +721,7 @@ export default defineComponent({
|
|
|
668
721
|
reactData.inputValue = value;
|
|
669
722
|
if (!isDatePickerType) {
|
|
670
723
|
if (inpImmediate) {
|
|
671
|
-
|
|
724
|
+
handleChange(value, evnt);
|
|
672
725
|
}
|
|
673
726
|
else {
|
|
674
727
|
inputMethods.dispatchEvent('input', { value }, evnt);
|
|
@@ -701,11 +754,10 @@ export default defineComponent({
|
|
|
701
754
|
inputMethods.dispatchEvent('prefix-click', { value: inputValue }, evnt);
|
|
702
755
|
}
|
|
703
756
|
};
|
|
704
|
-
let hidePanelTimeout;
|
|
705
757
|
const hidePanel = () => {
|
|
706
758
|
return new Promise(resolve => {
|
|
707
759
|
reactData.visiblePanel = false;
|
|
708
|
-
|
|
760
|
+
internalData.hpTimeout = window.setTimeout(() => {
|
|
709
761
|
reactData.isAniVisible = false;
|
|
710
762
|
resolve();
|
|
711
763
|
}, 350);
|
|
@@ -721,7 +773,7 @@ export default defineComponent({
|
|
|
721
773
|
if (isNumType || ['text', 'search', 'password'].indexOf(type) > -1) {
|
|
722
774
|
focus();
|
|
723
775
|
}
|
|
724
|
-
|
|
776
|
+
handleChange('', evnt);
|
|
725
777
|
inputMethods.dispatchEvent('clear', { value }, evnt);
|
|
726
778
|
};
|
|
727
779
|
const clickSuffixEvent = (evnt) => {
|
|
@@ -789,7 +841,7 @@ export default defineComponent({
|
|
|
789
841
|
if (inputValue) {
|
|
790
842
|
const validValue = toFloatValueFixed(inputValue, digitsValue);
|
|
791
843
|
if (inputValue !== validValue) {
|
|
792
|
-
|
|
844
|
+
handleChange(validValue, { type: 'init' });
|
|
793
845
|
}
|
|
794
846
|
}
|
|
795
847
|
}
|
|
@@ -848,22 +900,22 @@ export default defineComponent({
|
|
|
848
900
|
datetimeRest.push(item);
|
|
849
901
|
}
|
|
850
902
|
});
|
|
851
|
-
|
|
903
|
+
handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' });
|
|
852
904
|
}
|
|
853
905
|
else {
|
|
854
906
|
// 如果是日期类型
|
|
855
907
|
if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
|
|
856
|
-
|
|
908
|
+
handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' });
|
|
857
909
|
}
|
|
858
910
|
else {
|
|
859
|
-
|
|
911
|
+
handleChange(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' });
|
|
860
912
|
}
|
|
861
913
|
}
|
|
862
914
|
}
|
|
863
915
|
else {
|
|
864
916
|
// 如果为单选
|
|
865
917
|
if (!XEUtils.isEqual(modelValue, inpVal)) {
|
|
866
|
-
|
|
918
|
+
handleChange(inpVal, { type: 'update' });
|
|
867
919
|
}
|
|
868
920
|
}
|
|
869
921
|
};
|
|
@@ -890,7 +942,7 @@ export default defineComponent({
|
|
|
890
942
|
inpNumVal = inpStringVal;
|
|
891
943
|
}
|
|
892
944
|
}
|
|
893
|
-
|
|
945
|
+
handleChange(getNumberValue(inpNumVal), { type: 'check' });
|
|
894
946
|
}
|
|
895
947
|
}
|
|
896
948
|
else if (isDatePickerType) {
|
|
@@ -900,7 +952,7 @@ export default defineComponent({
|
|
|
900
952
|
if (type === 'time') {
|
|
901
953
|
inpDateVal = XEUtils.toDateString(inpDateVal, dateLabelFormat);
|
|
902
954
|
if (inputValue !== inpDateVal) {
|
|
903
|
-
|
|
955
|
+
handleChange(inpDateVal, { type: 'check' });
|
|
904
956
|
}
|
|
905
957
|
reactData.inputValue = inpDateVal;
|
|
906
958
|
}
|
|
@@ -930,7 +982,7 @@ export default defineComponent({
|
|
|
930
982
|
}
|
|
931
983
|
}
|
|
932
984
|
else {
|
|
933
|
-
|
|
985
|
+
handleChange('', { type: 'check' });
|
|
934
986
|
}
|
|
935
987
|
}
|
|
936
988
|
}
|
|
@@ -939,7 +991,7 @@ export default defineComponent({
|
|
|
939
991
|
const { inputValue } = reactData;
|
|
940
992
|
const inpImmediate = computeInpImmediate.value;
|
|
941
993
|
if (!inpImmediate) {
|
|
942
|
-
|
|
994
|
+
handleChange(inputValue, evnt);
|
|
943
995
|
}
|
|
944
996
|
afterCheckValue();
|
|
945
997
|
if (!reactData.visiblePanel) {
|
|
@@ -982,19 +1034,18 @@ export default defineComponent({
|
|
|
982
1034
|
}
|
|
983
1035
|
emitInputEvent(getNumberValue(restNum), evnt);
|
|
984
1036
|
};
|
|
985
|
-
let downbumTimeout;
|
|
986
1037
|
const numberNextEvent = (evnt) => {
|
|
987
1038
|
const isDisabled = computeIsDisabled.value;
|
|
988
1039
|
const isReadonly = computeIsReadonly.value;
|
|
989
1040
|
const isDisabledSubtractNumber = computeIsDisabledSubtractNumber.value;
|
|
990
|
-
|
|
1041
|
+
numberStopDown();
|
|
991
1042
|
if (!isDisabled && !isReadonly && !isDisabledSubtractNumber) {
|
|
992
1043
|
numberChange(false, evnt);
|
|
993
1044
|
}
|
|
994
1045
|
inputMethods.dispatchEvent('next-number', {}, evnt);
|
|
995
1046
|
};
|
|
996
1047
|
const numberDownNextEvent = (evnt) => {
|
|
997
|
-
|
|
1048
|
+
internalData.dnTimeout = window.setTimeout(() => {
|
|
998
1049
|
numberNextEvent(evnt);
|
|
999
1050
|
numberDownNextEvent(evnt);
|
|
1000
1051
|
}, 60);
|
|
@@ -1003,7 +1054,7 @@ export default defineComponent({
|
|
|
1003
1054
|
const isDisabled = computeIsDisabled.value;
|
|
1004
1055
|
const isReadonly = computeIsReadonly.value;
|
|
1005
1056
|
const isDisabledAddNumber = computeIsDisabledAddNumber.value;
|
|
1006
|
-
|
|
1057
|
+
numberStopDown();
|
|
1007
1058
|
if (!isDisabled && !isReadonly && !isDisabledAddNumber) {
|
|
1008
1059
|
numberChange(true, evnt);
|
|
1009
1060
|
}
|
|
@@ -1052,10 +1103,14 @@ export default defineComponent({
|
|
|
1052
1103
|
};
|
|
1053
1104
|
// 数值
|
|
1054
1105
|
const numberStopDown = () => {
|
|
1055
|
-
|
|
1106
|
+
const { dnTimeout } = internalData;
|
|
1107
|
+
if (dnTimeout) {
|
|
1108
|
+
clearTimeout(dnTimeout);
|
|
1109
|
+
internalData.dnTimeout = undefined;
|
|
1110
|
+
}
|
|
1056
1111
|
};
|
|
1057
1112
|
const numberDownPrevEvent = (evnt) => {
|
|
1058
|
-
|
|
1113
|
+
internalData.dnTimeout = window.setTimeout(() => {
|
|
1059
1114
|
numberPrevEvent(evnt);
|
|
1060
1115
|
numberDownPrevEvent(evnt);
|
|
1061
1116
|
}, 60);
|
|
@@ -1070,7 +1125,7 @@ export default defineComponent({
|
|
|
1070
1125
|
else {
|
|
1071
1126
|
numberNextEvent(evnt);
|
|
1072
1127
|
}
|
|
1073
|
-
|
|
1128
|
+
internalData.dnTimeout = window.setTimeout(() => {
|
|
1074
1129
|
if (isPrevNumber) {
|
|
1075
1130
|
numberDownPrevEvent(evnt);
|
|
1076
1131
|
}
|
|
@@ -1118,6 +1173,7 @@ export default defineComponent({
|
|
|
1118
1173
|
const datePrevEvent = (evnt) => {
|
|
1119
1174
|
const { type } = props;
|
|
1120
1175
|
const { datePanelType, selectMonth } = reactData;
|
|
1176
|
+
const { yearSize } = internalData;
|
|
1121
1177
|
const isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value;
|
|
1122
1178
|
if (!isDisabledPrevDateBtn) {
|
|
1123
1179
|
if (type === 'year') {
|
|
@@ -1156,6 +1212,7 @@ export default defineComponent({
|
|
|
1156
1212
|
const dateNextEvent = (evnt) => {
|
|
1157
1213
|
const { type } = props;
|
|
1158
1214
|
const { datePanelType, selectMonth } = reactData;
|
|
1215
|
+
const { yearSize } = internalData;
|
|
1159
1216
|
const isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value;
|
|
1160
1217
|
if (!isDisabledNextDateBtn) {
|
|
1161
1218
|
if (type === 'year') {
|
|
@@ -1338,11 +1395,11 @@ export default defineComponent({
|
|
|
1338
1395
|
datetimeRest.push(item);
|
|
1339
1396
|
}
|
|
1340
1397
|
});
|
|
1341
|
-
|
|
1398
|
+
handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' });
|
|
1342
1399
|
}
|
|
1343
1400
|
else {
|
|
1344
1401
|
// 如果是日期类型
|
|
1345
|
-
|
|
1402
|
+
handleChange(dateMultipleValue.join(','), { type: 'update' });
|
|
1346
1403
|
}
|
|
1347
1404
|
}
|
|
1348
1405
|
else {
|
|
@@ -1469,7 +1526,9 @@ export default defineComponent({
|
|
|
1469
1526
|
reactData.datetimePanelValue = reactData.datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first');
|
|
1470
1527
|
nextTick(() => {
|
|
1471
1528
|
const timeBodyElem = refInputTimeBody.value;
|
|
1472
|
-
XEUtils.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'),
|
|
1529
|
+
XEUtils.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'), (elem) => {
|
|
1530
|
+
updateTimePos(elem);
|
|
1531
|
+
});
|
|
1473
1532
|
});
|
|
1474
1533
|
}
|
|
1475
1534
|
};
|
|
@@ -1557,13 +1616,17 @@ export default defineComponent({
|
|
|
1557
1616
|
};
|
|
1558
1617
|
const showPanel = () => {
|
|
1559
1618
|
const { visiblePanel } = reactData;
|
|
1619
|
+
const { hpTimeout } = internalData;
|
|
1560
1620
|
const isDisabled = computeIsDisabled.value;
|
|
1561
1621
|
const isDatePickerType = computeIsDatePickerType.value;
|
|
1562
1622
|
if (!isDisabled && !visiblePanel) {
|
|
1563
1623
|
if (!reactData.initialized) {
|
|
1564
1624
|
reactData.initialized = true;
|
|
1565
1625
|
}
|
|
1566
|
-
|
|
1626
|
+
if (hpTimeout) {
|
|
1627
|
+
clearTimeout(hpTimeout);
|
|
1628
|
+
internalData.hpTimeout = undefined;
|
|
1629
|
+
}
|
|
1567
1630
|
reactData.isActivated = true;
|
|
1568
1631
|
reactData.isAniVisible = true;
|
|
1569
1632
|
if (isDatePickerType) {
|
|
@@ -1722,13 +1785,13 @@ export default defineComponent({
|
|
|
1722
1785
|
}]
|
|
1723
1786
|
}, extraItem && extraItem.label
|
|
1724
1787
|
? [
|
|
1725
|
-
h('span', label),
|
|
1788
|
+
h('span', `${label || ''}`),
|
|
1726
1789
|
h('span', {
|
|
1727
1790
|
class: ['vxe-input--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
|
|
1728
1791
|
style: extraItem.style
|
|
1729
1792
|
}, XEUtils.toValueString(extraItem.label))
|
|
1730
1793
|
]
|
|
1731
|
-
: label)
|
|
1794
|
+
: [`${label || ''}`])
|
|
1732
1795
|
];
|
|
1733
1796
|
const festivalLabel = festivalItem.label;
|
|
1734
1797
|
if (festivalLabel) {
|
|
@@ -1749,7 +1812,7 @@ export default defineComponent({
|
|
|
1749
1812
|
}
|
|
1750
1813
|
return labels;
|
|
1751
1814
|
}
|
|
1752
|
-
return label;
|
|
1815
|
+
return [`${label || ''}`];
|
|
1753
1816
|
};
|
|
1754
1817
|
const renderDateDayTable = () => {
|
|
1755
1818
|
const { multiple } = props;
|
|
@@ -2299,10 +2362,11 @@ export default defineComponent({
|
|
|
2299
2362
|
}
|
|
2300
2363
|
return createCommentVNode();
|
|
2301
2364
|
};
|
|
2365
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
2366
|
+
emit(type, createEvent(evnt, { $input: $xeInput }, params));
|
|
2367
|
+
};
|
|
2302
2368
|
inputMethods = {
|
|
2303
|
-
dispatchEvent
|
|
2304
|
-
emit(type, createEvent(evnt, { $input: $xeInput }, params));
|
|
2305
|
-
},
|
|
2369
|
+
dispatchEvent,
|
|
2306
2370
|
focus() {
|
|
2307
2371
|
const inputElem = refInputTarget.value;
|
|
2308
2372
|
reactData.isActivated = true;
|
|
@@ -2341,7 +2405,7 @@ export default defineComponent({
|
|
|
2341
2405
|
const isCountError = computeIsCountError.value;
|
|
2342
2406
|
const inputCount = computeInputCount.value;
|
|
2343
2407
|
const inputReadonly = computeInputReadonly.value;
|
|
2344
|
-
const
|
|
2408
|
+
const inpMaxLength = computeInpMaxLength.value;
|
|
2345
2409
|
const inputType = computeInputType.value;
|
|
2346
2410
|
const inpPlaceholder = computeInpPlaceholder.value;
|
|
2347
2411
|
const isClearable = computeIsClearable.value;
|
|
@@ -2375,7 +2439,7 @@ export default defineComponent({
|
|
|
2375
2439
|
name,
|
|
2376
2440
|
type: inputType,
|
|
2377
2441
|
placeholder: inpPlaceholder,
|
|
2378
|
-
maxlength:
|
|
2442
|
+
maxlength: inpMaxLength,
|
|
2379
2443
|
readonly: inputReadonly,
|
|
2380
2444
|
disabled: isDisabled,
|
|
2381
2445
|
autocomplete: autoComplete || autocomplete,
|
|
@@ -2398,11 +2462,10 @@ export default defineComponent({
|
|
|
2398
2462
|
class: ['vxe-input--count', {
|
|
2399
2463
|
'is--error': isCountError
|
|
2400
2464
|
}]
|
|
2401
|
-
}, countMethod ? `${countMethod({ value: inputValue })}` : `${inputCount}${
|
|
2465
|
+
}, countMethod ? `${countMethod({ value: inputValue })}` : `${inputCount}${inpMaxLength ? `/${inpMaxLength}` : ''}`)
|
|
2402
2466
|
: createCommentVNode()
|
|
2403
2467
|
]);
|
|
2404
2468
|
};
|
|
2405
|
-
$xeInput.renderVN = renderVN;
|
|
2406
2469
|
watch(() => props.modelValue, (val) => {
|
|
2407
2470
|
reactData.inputValue = val;
|
|
2408
2471
|
changeValue();
|
|
@@ -2442,6 +2505,7 @@ export default defineComponent({
|
|
|
2442
2505
|
globalEvents.off($xeInput, 'blur');
|
|
2443
2506
|
});
|
|
2444
2507
|
initValue();
|
|
2508
|
+
$xeInput.renderVN = renderVN;
|
|
2445
2509
|
return $xeInput;
|
|
2446
2510
|
},
|
|
2447
2511
|
render() {
|
package/es/list/src/list.js
CHANGED
|
@@ -30,10 +30,8 @@ export default defineComponent({
|
|
|
30
30
|
topSpaceHeight: 0,
|
|
31
31
|
items: []
|
|
32
32
|
});
|
|
33
|
-
const refElem = ref();
|
|
34
|
-
const refVirtualWrapper = ref();
|
|
35
|
-
const refVirtualBody = ref();
|
|
36
33
|
const internalData = {
|
|
34
|
+
resizeObserver: undefined,
|
|
37
35
|
fullData: [],
|
|
38
36
|
lastScrollLeft: 0,
|
|
39
37
|
lastScrollTop: 0,
|
|
@@ -45,6 +43,9 @@ export default defineComponent({
|
|
|
45
43
|
rowHeight: 0
|
|
46
44
|
}
|
|
47
45
|
};
|
|
46
|
+
const refElem = ref();
|
|
47
|
+
const refVirtualWrapper = ref();
|
|
48
|
+
const refVirtualBody = ref();
|
|
48
49
|
const refMaps = {
|
|
49
50
|
refElem
|
|
50
51
|
};
|
|
@@ -269,19 +270,20 @@ export default defineComponent({
|
|
|
269
270
|
onActivated(() => {
|
|
270
271
|
recalculate().then(() => refreshScroll());
|
|
271
272
|
});
|
|
272
|
-
let resizeObserver;
|
|
273
273
|
nextTick(() => {
|
|
274
274
|
globalEvents.on($xeList, 'resize', () => {
|
|
275
275
|
recalculate();
|
|
276
276
|
});
|
|
277
277
|
if (props.autoResize) {
|
|
278
278
|
const el = refElem.value;
|
|
279
|
-
resizeObserver = globalResize.create(() => recalculate());
|
|
279
|
+
const resizeObserver = globalResize.create(() => recalculate());
|
|
280
280
|
resizeObserver.observe(el);
|
|
281
|
+
internalData.resizeObserver = resizeObserver;
|
|
281
282
|
}
|
|
282
283
|
listMethods.loadData(props.data || []);
|
|
283
284
|
});
|
|
284
285
|
onUnmounted(() => {
|
|
286
|
+
const { resizeObserver } = internalData;
|
|
285
287
|
if (resizeObserver) {
|
|
286
288
|
resizeObserver.disconnect();
|
|
287
289
|
}
|
|
@@ -296,7 +296,6 @@ export default defineComponent({
|
|
|
296
296
|
])
|
|
297
297
|
]);
|
|
298
298
|
};
|
|
299
|
-
$xeListDesign.renderVN = renderVN;
|
|
300
299
|
provide('$xeListDesign', $xeListDesign);
|
|
301
300
|
watch(() => props.config, (value) => {
|
|
302
301
|
loadConfig(value || {});
|
|
@@ -305,6 +304,7 @@ export default defineComponent({
|
|
|
305
304
|
if (props.config) {
|
|
306
305
|
loadConfig(props.config);
|
|
307
306
|
}
|
|
307
|
+
$xeListDesign.renderVN = renderVN;
|
|
308
308
|
return $xeListDesign;
|
|
309
309
|
},
|
|
310
310
|
render() {
|
|
@@ -414,7 +414,6 @@ export default defineComponent({
|
|
|
414
414
|
})
|
|
415
415
|
]);
|
|
416
416
|
};
|
|
417
|
-
$xeListView.renderVN = renderVN;
|
|
418
417
|
watch(() => props.config, (value) => {
|
|
419
418
|
loadConfig(value || {});
|
|
420
419
|
});
|
|
@@ -429,6 +428,7 @@ export default defineComponent({
|
|
|
429
428
|
}
|
|
430
429
|
});
|
|
431
430
|
}
|
|
431
|
+
$xeListView.renderVN = renderVN;
|
|
432
432
|
return $xeListView;
|
|
433
433
|
},
|
|
434
434
|
render() {
|
|
@@ -114,11 +114,11 @@ export default defineComponent({
|
|
|
114
114
|
])
|
|
115
115
|
]);
|
|
116
116
|
};
|
|
117
|
-
$xeLoading.renderVN = renderVN;
|
|
118
117
|
watch(() => props.modelValue, () => {
|
|
119
118
|
handleInit();
|
|
120
119
|
});
|
|
121
120
|
handleInit();
|
|
121
|
+
$xeLoading.renderVN = renderVN;
|
|
122
122
|
return $xeLoading;
|
|
123
123
|
},
|
|
124
124
|
render() {
|
package/es/menu/src/menu.js
CHANGED
|
@@ -246,7 +246,6 @@ export default defineComponent({
|
|
|
246
246
|
})
|
|
247
247
|
]);
|
|
248
248
|
};
|
|
249
|
-
$xeMenu.renderVN = renderVN;
|
|
250
249
|
const optFlag = ref(0);
|
|
251
250
|
watch(() => props.options ? props.options.length : -1, () => {
|
|
252
251
|
optFlag.value++;
|
|
@@ -271,6 +270,7 @@ export default defineComponent({
|
|
|
271
270
|
});
|
|
272
271
|
updateMenuConfig();
|
|
273
272
|
updateActiveMenu(true);
|
|
273
|
+
$xeMenu.renderVN = renderVN;
|
|
274
274
|
return $xeMenu;
|
|
275
275
|
},
|
|
276
276
|
render() {
|