vxe-pc-ui 4.1.18 → 4.1.20

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.
Files changed (114) hide show
  1. package/README.md +1 -1
  2. package/es/button/src/button.js +2 -1
  3. package/es/card/src/card.js +4 -3
  4. package/es/countdown/src/countdown.js +16 -7
  5. package/es/date-picker/src/date-picker.js +136 -57
  6. package/es/drawer/src/drawer.js +85 -45
  7. package/es/icon/src/icon.js +3 -0
  8. package/es/icon/style.css +1 -1
  9. package/es/icon-picker/src/icon-picker.js +2 -1
  10. package/es/input/src/input.js +2 -1
  11. package/es/loading/src/loading.js +3 -0
  12. package/es/menu/src/menu.js +3 -2
  13. package/es/number-input/src/number-input.js +95 -72
  14. package/es/pulldown/src/pulldown.js +19 -13
  15. package/es/radio/src/button.js +2 -2
  16. package/es/radio/src/group.js +3 -2
  17. package/es/select/src/optgroup.js +9 -3
  18. package/es/select/src/option.js +9 -3
  19. package/es/select/src/select.js +32 -12
  20. package/es/style.css +1 -1
  21. package/es/style.min.css +1 -1
  22. package/es/textarea/src/textarea.js +24 -6
  23. package/es/tooltip/src/tooltip.js +107 -78
  24. package/es/tree-select/src/tree-select.js +2 -1
  25. package/es/ui/index.js +1 -1
  26. package/es/ui/src/log.js +1 -1
  27. package/lib/button/src/button.js +2 -1
  28. package/lib/button/src/button.min.js +1 -1
  29. package/lib/card/src/card.js +6 -5
  30. package/lib/card/src/card.min.js +1 -1
  31. package/lib/countdown/src/countdown.js +14 -6
  32. package/lib/countdown/src/countdown.min.js +1 -1
  33. package/lib/date-picker/src/date-picker.js +112 -50
  34. package/lib/date-picker/src/date-picker.min.js +1 -1
  35. package/lib/drawer/src/drawer.js +14 -29
  36. package/lib/drawer/src/drawer.min.js +1 -1
  37. package/lib/icon/src/icon.js +3 -0
  38. package/lib/icon/src/icon.min.js +1 -1
  39. package/lib/icon/style/style.css +1 -1
  40. package/lib/icon/style/style.min.css +1 -1
  41. package/lib/icon-picker/src/icon-picker.js +2 -1
  42. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  43. package/lib/index.umd.js +368 -278
  44. package/lib/index.umd.min.js +1 -1
  45. package/lib/input/src/input.js +2 -1
  46. package/lib/input/src/input.min.js +1 -1
  47. package/lib/loading/src/loading.js +3 -0
  48. package/lib/loading/src/loading.min.js +1 -1
  49. package/lib/menu/src/menu.js +3 -2
  50. package/lib/menu/src/menu.min.js +1 -1
  51. package/lib/number-input/src/number-input.js +62 -64
  52. package/lib/number-input/src/number-input.min.js +1 -1
  53. package/lib/pulldown/src/pulldown.js +19 -13
  54. package/lib/pulldown/src/pulldown.min.js +1 -1
  55. package/lib/radio/src/button.js +2 -2
  56. package/lib/radio/src/group.js +3 -2
  57. package/lib/radio/src/group.min.js +1 -1
  58. package/lib/select/src/optgroup.js +1 -1
  59. package/lib/select/src/optgroup.min.js +1 -1
  60. package/lib/select/src/option.js +1 -1
  61. package/lib/select/src/option.min.js +1 -1
  62. package/lib/select/src/select.js +19 -9
  63. package/lib/select/src/select.min.js +1 -1
  64. package/lib/style.css +1 -1
  65. package/lib/style.min.css +1 -1
  66. package/lib/tooltip/src/tooltip.js +96 -88
  67. package/lib/tooltip/src/tooltip.min.js +1 -1
  68. package/lib/tree-select/src/tree-select.js +2 -1
  69. package/lib/tree-select/src/tree-select.min.js +1 -1
  70. package/lib/ui/index.js +1 -1
  71. package/lib/ui/index.min.js +1 -1
  72. package/lib/ui/src/log.js +1 -1
  73. package/lib/ui/src/log.min.js +1 -1
  74. package/package.json +1 -1
  75. package/packages/button/src/button.ts +6 -5
  76. package/packages/card/src/card.ts +6 -4
  77. package/packages/countdown/src/countdown.ts +18 -9
  78. package/packages/date-picker/src/date-picker.ts +148 -68
  79. package/packages/drawer/src/drawer.ts +89 -48
  80. package/packages/icon/src/icon.ts +3 -0
  81. package/packages/icon-picker/src/icon-picker.ts +6 -5
  82. package/packages/input/src/input.ts +6 -5
  83. package/packages/loading/src/loading.ts +3 -0
  84. package/packages/menu/src/menu.ts +3 -2
  85. package/packages/number-input/src/number-input.ts +97 -74
  86. package/packages/pulldown/src/pulldown.ts +28 -22
  87. package/packages/radio/src/button.ts +2 -2
  88. package/packages/radio/src/group.ts +3 -2
  89. package/packages/select/src/optgroup.ts +9 -3
  90. package/packages/select/src/option.ts +9 -3
  91. package/packages/select/src/select.ts +38 -17
  92. package/packages/textarea/src/textarea.ts +24 -6
  93. package/packages/tooltip/src/tooltip.ts +119 -85
  94. package/packages/tree-select/src/tree-select.ts +6 -5
  95. package/types/components/countdown.d.ts +4 -0
  96. package/types/components/date-picker.d.ts +23 -5
  97. package/types/components/drawer.d.ts +0 -1
  98. package/types/components/number-input.d.ts +6 -2
  99. package/types/components/pulldown.d.ts +5 -1
  100. package/types/components/select.d.ts +4 -0
  101. package/types/components/table.d.ts +1 -0
  102. package/types/components/tooltip.d.ts +4 -0
  103. /package/es/icon/style/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
  104. /package/es/icon/style/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
  105. /package/es/icon/style/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
  106. /package/es/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
  107. /package/es/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
  108. /package/es/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
  109. /package/lib/icon/style/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
  110. /package/lib/icon/style/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
  111. /package/lib/icon/style/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
  112. /package/lib/{iconfont.1725597454404.ttf → iconfont.1725680652286.ttf} +0 -0
  113. /package/lib/{iconfont.1725597454404.woff → iconfont.1725680652286.woff} +0 -0
  114. /package/lib/{iconfont.1725597454404.woff2 → iconfont.1725680652286.woff2} +0 -0
package/README.md CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
  [👀 Vxe Table](https://vxetable.cn)
94
94
 
95
- * [x] table 表格
95
+ * [x] table 表格-基础表格
96
96
  * [x] column 表格-列
97
97
  * [x] colgroup 表格-分组列
98
98
  * [x] toolbar 表格-工具栏
@@ -95,6 +95,7 @@ export default defineComponent({
95
95
  setup(props, context) {
96
96
  const { slots, emit } = context;
97
97
  const $xeModal = inject('$xeModal', null);
98
+ const $xeDrawer = inject('$xeDrawer', null);
98
99
  const $xeTable = inject('$xeTable', null);
99
100
  const $xeForm = inject('$xeForm', null);
100
101
  const $xeButtonGroup = inject('$xeButtonGroup', null);
@@ -135,7 +136,7 @@ export default defineComponent({
135
136
  if (XEUtils.isBoolean(globalTransfer)) {
136
137
  return globalTransfer;
137
138
  }
138
- if ($xeTable || $xeModal || $xeForm) {
139
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
139
140
  return true;
140
141
  }
141
142
  }
@@ -57,10 +57,11 @@ export default defineComponent({
57
57
  getRefMaps: () => refMaps,
58
58
  getComputeMaps: () => computeMaps
59
59
  };
60
+ const dispatchEvent = (type, params, evnt) => {
61
+ emit(type, createEvent(evnt, { $card: $xeCard }, params));
62
+ };
60
63
  const cardMethods = {
61
- dispatchEvent(type, params, evnt) {
62
- emit(type, createEvent(evnt, { $card: $xeCard }, params));
63
- }
64
+ dispatchEvent
64
65
  };
65
66
  const cardPrivateMethods = {};
66
67
  Object.assign($xeCard, cardMethods, cardPrivateMethods);
@@ -10,7 +10,10 @@ export default defineComponent({
10
10
  format: String,
11
11
  prefixConfig: Object,
12
12
  suffixConfig: Object,
13
- size: { type: String, default: () => getConfig().countdown.size || getConfig().size }
13
+ size: {
14
+ type: String,
15
+ default: () => getConfig().countdown.size || getConfig().size
16
+ }
14
17
  },
15
18
  emits: [
16
19
  'update:modelValue',
@@ -26,6 +29,9 @@ export default defineComponent({
26
29
  currNum: 0,
27
30
  secondNum: 0
28
31
  });
32
+ const internalData = {
33
+ dnTimeout: undefined
34
+ };
29
35
  const refMaps = {
30
36
  refElem
31
37
  };
@@ -79,10 +85,10 @@ export default defineComponent({
79
85
  props,
80
86
  context,
81
87
  reactData,
88
+ internalData,
82
89
  getRefMaps: () => refMaps,
83
90
  getComputeMaps: () => computeMaps
84
91
  };
85
- let htime = null;
86
92
  const dispatchEvent = (type, params, evnt) => {
87
93
  emit(type, createEvent(evnt, { $carousel: $xeCountdown }, params));
88
94
  };
@@ -95,11 +101,13 @@ export default defineComponent({
95
101
  const { currNum } = reactData;
96
102
  if (currNum > 1000) {
97
103
  reactData.currNum -= 1000;
98
- htime = setTimeout(handleTime, 1000);
104
+ internalData.dnTimeout = setTimeout(() => {
105
+ handleTime();
106
+ }, 1000);
99
107
  }
100
108
  else {
101
109
  reactData.currNum = 0;
102
- stop();
110
+ handleStop();
103
111
  }
104
112
  };
105
113
  const countdownMethods = {
@@ -110,9 +118,10 @@ export default defineComponent({
110
118
  handleTime();
111
119
  };
112
120
  const handleStop = () => {
113
- if (htime != null) {
114
- clearTimeout(htime);
115
- htime = null;
121
+ const { dnTimeout } = internalData;
122
+ if (dnTimeout) {
123
+ clearTimeout(dnTimeout);
124
+ internalData.dnTimeout = undefined;
116
125
  dispatchEvent('end', {}, null);
117
126
  }
118
127
  };
@@ -9,10 +9,19 @@ export default defineComponent({
9
9
  name: 'VxeDatePicker',
10
10
  props: {
11
11
  modelValue: [String, Number, Date],
12
- immediate: { type: Boolean, default: true },
12
+ immediate: {
13
+ type: Boolean,
14
+ default: true
15
+ },
13
16
  name: String,
14
- type: { type: String, default: 'date' },
15
- clearable: { type: Boolean, default: () => getConfig().datePicker.clearable },
17
+ type: {
18
+ type: String,
19
+ default: 'date'
20
+ },
21
+ clearable: {
22
+ type: Boolean,
23
+ default: () => getConfig().datePicker.clearable
24
+ },
16
25
  readonly: {
17
26
  type: Boolean,
18
27
  default: null
@@ -22,35 +31,66 @@ export default defineComponent({
22
31
  default: null
23
32
  },
24
33
  placeholder: String,
25
- maxlength: [String, Number],
26
- autocomplete: { type: String, default: 'off' },
34
+ maxLength: [String, Number],
35
+ autoComplete: {
36
+ type: String,
37
+ default: 'off'
38
+ },
27
39
  align: String,
28
40
  form: String,
29
41
  className: String,
30
- size: { type: String, default: () => getConfig().datePicker.size || getConfig().size },
42
+ size: {
43
+ type: String,
44
+ default: () => getConfig().datePicker.size || getConfig().size
45
+ },
31
46
  multiple: Boolean,
32
47
  // date、week、month、quarter、year
33
- startDate: { type: [String, Number, Date], default: () => getConfig().datePicker.startDate },
34
- endDate: { type: [String, Number, Date], default: () => getConfig().datePicker.endDate },
48
+ startDate: {
49
+ type: [String, Number, Date],
50
+ default: () => getConfig().datePicker.startDate
51
+ },
52
+ endDate: {
53
+ type: [String, Number, Date],
54
+ default: () => getConfig().datePicker.endDate
55
+ },
35
56
  minDate: [String, Number, Date],
36
57
  maxDate: [String, Number, Date],
37
- // 已废弃 startWeek,被 startDay 替换
38
- startWeek: Number,
39
- startDay: { type: [String, Number], default: () => getConfig().datePicker.startDay },
58
+ startDay: {
59
+ type: [String, Number],
60
+ default: () => getConfig().datePicker.startDay
61
+ },
40
62
  labelFormat: String,
41
63
  valueFormat: String,
42
- editable: { type: Boolean, default: true },
43
- festivalMethod: { type: Function, default: () => getConfig().datePicker.festivalMethod },
44
- disabledMethod: { type: Function, default: () => getConfig().datePicker.disabledMethod },
64
+ editable: {
65
+ type: Boolean,
66
+ default: true
67
+ },
68
+ festivalMethod: {
69
+ type: Function,
70
+ default: () => getConfig().datePicker.festivalMethod
71
+ },
72
+ disabledMethod: {
73
+ type: Function,
74
+ default: () => getConfig().datePicker.disabledMethod
75
+ },
45
76
  // week
46
- selectDay: { type: [String, Number], default: () => getConfig().datePicker.selectDay },
77
+ selectDay: {
78
+ type: [String, Number],
79
+ default: () => getConfig().datePicker.selectDay
80
+ },
47
81
  prefixIcon: String,
48
82
  suffixIcon: String,
49
83
  placement: String,
50
84
  transfer: {
51
85
  type: Boolean,
52
86
  default: null
53
- }
87
+ },
88
+ // 已废弃 startWeek,被 startDay 替换
89
+ startWeek: Number,
90
+ // 已废弃
91
+ maxlength: [String, Number],
92
+ // 已废弃
93
+ autocomplete: String
54
94
  },
55
95
  emits: [
56
96
  'update:modelValue',
@@ -72,20 +112,18 @@ export default defineComponent({
72
112
  setup(props, context) {
73
113
  const { slots, emit } = context;
74
114
  const $xeModal = inject('$xeModal', null);
115
+ const $xeDrawer = inject('$xeDrawer', null);
75
116
  const $xeTable = inject('$xeTable', null);
76
117
  const $xeForm = inject('$xeForm', null);
77
118
  const formItemInfo = inject('xeFormItemInfo', null);
78
119
  const xID = XEUtils.uniqueId();
79
120
  const { computeSize } = useSize(props);
80
- const yearSize = 12;
81
- const monthSize = 20;
82
- const quarterSize = 8;
83
121
  const reactData = reactive({
84
122
  initialized: false,
85
123
  panelIndex: 0,
86
124
  visiblePanel: false,
87
125
  isAniVisible: false,
88
- panelStyle: null,
126
+ panelStyle: {},
89
127
  panelPlacement: '',
90
128
  isActivated: false,
91
129
  inputValue: props.modelValue,
@@ -96,6 +134,12 @@ export default defineComponent({
96
134
  selectMonth: null,
97
135
  currentDate: null
98
136
  });
137
+ const internalData = {
138
+ yearSize: 12,
139
+ monthSize: 20,
140
+ quarterSize: 8,
141
+ hpTimeout: undefined
142
+ };
99
143
  const refElem = ref();
100
144
  const refInputTarget = ref();
101
145
  const refInputPanel = ref();
@@ -110,16 +154,10 @@ export default defineComponent({
110
154
  props,
111
155
  context,
112
156
  reactData,
157
+ internalData,
113
158
  getRefMaps: () => refMaps
114
159
  };
115
160
  let datePickerMethods = {};
116
- const parseDate = (value, format) => {
117
- const { type } = props;
118
- if (type === 'time') {
119
- return toStringTimeDate(value);
120
- }
121
- return XEUtils.toStringDate(value, format);
122
- };
123
161
  const computeBtnTransfer = computed(() => {
124
162
  const { transfer } = props;
125
163
  if (transfer === null) {
@@ -127,7 +165,7 @@ export default defineComponent({
127
165
  if (XEUtils.isBoolean(globalTransfer)) {
128
166
  return globalTransfer;
129
167
  }
130
- if ($xeTable || $xeModal || $xeForm) {
168
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
131
169
  return true;
132
170
  }
133
171
  }
@@ -183,7 +221,7 @@ export default defineComponent({
183
221
  if (XEUtils.isValidDate(date)) {
184
222
  return date;
185
223
  }
186
- return null;
224
+ return date;
187
225
  });
188
226
  }
189
227
  return [];
@@ -203,7 +241,13 @@ export default defineComponent({
203
241
  if (valueFormat) {
204
242
  return valueFormat;
205
243
  }
206
- return type === 'time' ? 'HH:mm:ss' : (type === 'datetime' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd');
244
+ if (type === 'time') {
245
+ return 'HH:mm:ss';
246
+ }
247
+ if (type === 'datetime') {
248
+ return 'yyyy-MM-dd HH:mm:ss';
249
+ }
250
+ return 'yyyy-MM-dd';
207
251
  });
208
252
  const computeDateValue = computed(() => {
209
253
  const { modelValue } = props;
@@ -257,6 +301,7 @@ export default defineComponent({
257
301
  return null;
258
302
  });
259
303
  const computeYearList = computed(() => {
304
+ const { yearSize } = internalData;
260
305
  const { selectMonth, currentDate } = reactData;
261
306
  const years = [];
262
307
  if (selectMonth && currentDate) {
@@ -350,6 +395,7 @@ export default defineComponent({
350
395
  return XEUtils.chunk(yearList, 4);
351
396
  });
352
397
  const computeQuarterList = computed(() => {
398
+ const { quarterSize } = internalData;
353
399
  const { selectMonth, currentDate } = reactData;
354
400
  const quarters = [];
355
401
  if (selectMonth && currentDate) {
@@ -379,6 +425,7 @@ export default defineComponent({
379
425
  return XEUtils.chunk(quarterList, 2);
380
426
  });
381
427
  const computeMonthList = computed(() => {
428
+ const { monthSize } = internalData;
382
429
  const { selectMonth, currentDate } = reactData;
383
430
  const months = [];
384
431
  if (selectMonth && currentDate) {
@@ -520,6 +567,13 @@ export default defineComponent({
520
567
  const { immediate } = props;
521
568
  return immediate;
522
569
  });
570
+ const parseDate = (value, format) => {
571
+ const { type } = props;
572
+ if (type === 'time') {
573
+ return toStringTimeDate(value);
574
+ }
575
+ return XEUtils.toStringDate(value, format);
576
+ };
523
577
  const triggerEvent = (evnt) => {
524
578
  const { inputValue } = reactData;
525
579
  datePickerMethods.dispatchEvent(evnt.type, { value: inputValue }, evnt);
@@ -571,11 +625,10 @@ export default defineComponent({
571
625
  datePickerMethods.dispatchEvent('prefix-click', { value: inputValue }, evnt);
572
626
  }
573
627
  };
574
- let hidePanelTimeout;
575
628
  const hidePanel = () => {
576
629
  return new Promise(resolve => {
577
630
  reactData.visiblePanel = false;
578
- hidePanelTimeout = window.setTimeout(() => {
631
+ internalData.hpTimeout = window.setTimeout(() => {
579
632
  reactData.isAniVisible = false;
580
633
  resolve();
581
634
  }, 350);
@@ -668,9 +721,11 @@ export default defineComponent({
668
721
  date = XEUtils.getWhatWeek(date, 0, sWeek, firstDayOfWeek);
669
722
  }
670
723
  else if (isDateTimeType) {
671
- date.setHours(datetimePanelValue.getHours());
672
- date.setMinutes(datetimePanelValue.getMinutes());
673
- date.setSeconds(datetimePanelValue.getSeconds());
724
+ if (datetimePanelValue) {
725
+ date.setHours(datetimePanelValue.getHours());
726
+ date.setMinutes(datetimePanelValue.getMinutes());
727
+ date.setSeconds(datetimePanelValue.getSeconds());
728
+ }
674
729
  }
675
730
  const inpVal = XEUtils.toDateString(date, dateValueFormat, { firstDay: firstDayOfWeek });
676
731
  dateCheckMonth(date);
@@ -690,9 +745,11 @@ export default defineComponent({
690
745
  }
691
746
  dateListValue.forEach(item => {
692
747
  if (item) {
693
- item.setHours(datetimePanelValue.getHours());
694
- item.setMinutes(datetimePanelValue.getMinutes());
695
- item.setSeconds(datetimePanelValue.getSeconds());
748
+ if (datetimePanelValue) {
749
+ item.setHours(datetimePanelValue.getHours());
750
+ item.setMinutes(datetimePanelValue.getMinutes());
751
+ item.setSeconds(datetimePanelValue.getSeconds());
752
+ }
696
753
  datetimeRest.push(item);
697
754
  }
698
755
  });
@@ -738,9 +795,11 @@ export default defineComponent({
738
795
  const dateValue = computeDateValue.value;
739
796
  if (inputValue !== XEUtils.toDateString(dateValue, dateLabelFormat) || inputValue !== XEUtils.toDateString(inpDateVal, dateLabelFormat)) {
740
797
  isChange = true;
741
- datetimePanelValue.setHours(inpDateVal.getHours());
742
- datetimePanelValue.setMinutes(inpDateVal.getMinutes());
743
- datetimePanelValue.setSeconds(inpDateVal.getSeconds());
798
+ if (datetimePanelValue) {
799
+ datetimePanelValue.setHours(inpDateVal.getHours());
800
+ datetimePanelValue.setMinutes(inpDateVal.getMinutes());
801
+ datetimePanelValue.setSeconds(inpDateVal.getSeconds());
802
+ }
744
803
  }
745
804
  }
746
805
  else {
@@ -804,6 +863,7 @@ export default defineComponent({
804
863
  const datePrevEvent = (evnt) => {
805
864
  const { type } = props;
806
865
  const { datePanelType, selectMonth } = reactData;
866
+ const { yearSize } = internalData;
807
867
  const isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value;
808
868
  if (!isDisabledPrevDateBtn) {
809
869
  if (type === 'year') {
@@ -842,6 +902,7 @@ export default defineComponent({
842
902
  const dateNextEvent = (evnt) => {
843
903
  const { type } = props;
844
904
  const { datePanelType, selectMonth } = reactData;
905
+ const { yearSize } = internalData;
845
906
  const isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value;
846
907
  if (!isDisabledNextDateBtn) {
847
908
  if (type === 'year') {
@@ -995,11 +1056,15 @@ export default defineComponent({
995
1056
  }
996
1057
  };
997
1058
  const dateTimeChangeEvent = (evnt) => {
998
- reactData.datetimePanelValue = new Date(reactData.datetimePanelValue.getTime());
1059
+ const { datetimePanelValue } = reactData;
1060
+ reactData.datetimePanelValue = datetimePanelValue ? new Date(datetimePanelValue.getTime()) : new Date();
999
1061
  updateTimePos(evnt.currentTarget);
1000
1062
  };
1001
1063
  const dateHourEvent = (evnt, item) => {
1002
- reactData.datetimePanelValue.setHours(item.value);
1064
+ const { datetimePanelValue } = reactData;
1065
+ if (datetimePanelValue) {
1066
+ datetimePanelValue.setHours(item.value);
1067
+ }
1003
1068
  dateTimeChangeEvent(evnt);
1004
1069
  };
1005
1070
  const dateConfirmEvent = () => {
@@ -1018,9 +1083,11 @@ export default defineComponent({
1018
1083
  const datetimeRest = [];
1019
1084
  dateListValue.forEach(item => {
1020
1085
  if (item) {
1021
- item.setHours(datetimePanelValue.getHours());
1022
- item.setMinutes(datetimePanelValue.getMinutes());
1023
- item.setSeconds(datetimePanelValue.getSeconds());
1086
+ if (datetimePanelValue) {
1087
+ item.setHours(datetimePanelValue.getHours());
1088
+ item.setMinutes(datetimePanelValue.getMinutes());
1089
+ item.setSeconds(datetimePanelValue.getSeconds());
1090
+ }
1024
1091
  datetimeRest.push(item);
1025
1092
  }
1026
1093
  });
@@ -1038,11 +1105,17 @@ export default defineComponent({
1038
1105
  hidePanel();
1039
1106
  };
1040
1107
  const dateMinuteEvent = (evnt, item) => {
1041
- reactData.datetimePanelValue.setMinutes(item.value);
1108
+ const { datetimePanelValue } = reactData;
1109
+ if (datetimePanelValue) {
1110
+ datetimePanelValue.setMinutes(item.value);
1111
+ }
1042
1112
  dateTimeChangeEvent(evnt);
1043
1113
  };
1044
1114
  const dateSecondEvent = (evnt, item) => {
1045
- reactData.datetimePanelValue.setSeconds(item.value);
1115
+ const { datetimePanelValue } = reactData;
1116
+ if (datetimePanelValue) {
1117
+ datetimePanelValue.setSeconds(item.value);
1118
+ }
1046
1119
  dateTimeChangeEvent(evnt);
1047
1120
  };
1048
1121
  const dateOffsetEvent = (evnt) => {
@@ -1155,7 +1228,9 @@ export default defineComponent({
1155
1228
  reactData.datetimePanelValue = reactData.datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first');
1156
1229
  nextTick(() => {
1157
1230
  const timeBodyElem = refInputTimeBody.value;
1158
- XEUtils.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'), updateTimePos);
1231
+ XEUtils.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'), (elem) => {
1232
+ updateTimePos(elem);
1233
+ });
1159
1234
  });
1160
1235
  }
1161
1236
  };
@@ -1249,7 +1324,10 @@ export default defineComponent({
1249
1324
  if (!reactData.initialized) {
1250
1325
  reactData.initialized = true;
1251
1326
  }
1252
- clearTimeout(hidePanelTimeout);
1327
+ if (internalData.hpTimeout) {
1328
+ clearTimeout(internalData.hpTimeout);
1329
+ internalData.hpTimeout = undefined;
1330
+ }
1253
1331
  reactData.isActivated = true;
1254
1332
  reactData.isAniVisible = true;
1255
1333
  if (isDatePickerType) {
@@ -1408,13 +1486,13 @@ export default defineComponent({
1408
1486
  }]
1409
1487
  }, extraItem && extraItem.label
1410
1488
  ? [
1411
- h('span', label),
1489
+ h('span', `${label}`),
1412
1490
  h('span', {
1413
1491
  class: ['vxe-date-picker--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
1414
1492
  style: extraItem.style
1415
1493
  }, XEUtils.toValueString(extraItem.label))
1416
1494
  ]
1417
- : label)
1495
+ : `${label}`)
1418
1496
  ];
1419
1497
  const festivalLabel = festivalItem.label;
1420
1498
  if (festivalLabel) {
@@ -1899,10 +1977,11 @@ export default defineComponent({
1899
1977
  })
1900
1978
  ]);
1901
1979
  };
1980
+ const dispatchEvent = (type, params, evnt) => {
1981
+ emit(type, createEvent(evnt, { $datePicker: $xeDatePicker }, params));
1982
+ };
1902
1983
  datePickerMethods = {
1903
- dispatchEvent(type, params, evnt) {
1904
- emit(type, createEvent(evnt, { $input: $xeDatePicker }, params));
1905
- },
1984
+ dispatchEvent,
1906
1985
  focus() {
1907
1986
  const inputElem = refInputTarget.value;
1908
1987
  reactData.isActivated = true;
@@ -1964,7 +2043,7 @@ export default defineComponent({
1964
2043
  });
1965
2044
  initValue();
1966
2045
  const renderVN = () => {
1967
- const { className, type, align, name, autocomplete } = props;
2046
+ const { className, type, align, name, autocomplete, autoComplete } = props;
1968
2047
  const { inputValue, visiblePanel, isActivated } = reactData;
1969
2048
  const vSize = computeSize.value;
1970
2049
  const isDisabled = computeIsDisabled.value;
@@ -2008,7 +2087,7 @@ export default defineComponent({
2008
2087
  placeholder: inpPlaceholder,
2009
2088
  readonly: inputReadonly,
2010
2089
  disabled: isDisabled,
2011
- autocomplete,
2090
+ autocomplete: autoComplete || autocomplete,
2012
2091
  onKeydown: keydownEvent,
2013
2092
  onKeyup: keyupEvent,
2014
2093
  onWheel: wheelEvent,