vxe-pc-ui 4.7.17 → 4.7.19

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 (220) hide show
  1. package/es/color-picker/src/color-picker.js +15 -3
  2. package/es/date-panel/style.css +1 -1
  3. package/es/date-panel/style.min.css +1 -1
  4. package/es/date-picker/src/date-picker.js +9 -5
  5. package/es/date-range-picker/src/date-range-picker.js +10 -1
  6. package/es/form/src/itemInfo.js +11 -3
  7. package/es/form/src/render.js +20 -11
  8. package/es/form/style.css +12 -11
  9. package/es/form/style.min.css +1 -1
  10. package/es/icon/style.css +1 -1
  11. package/es/icon-picker/src/icon-picker.js +13 -1
  12. package/es/input/src/input.js +10 -4
  13. package/es/language/ar-EG.js +1 -0
  14. package/es/language/de-DE.js +1 -0
  15. package/es/language/en-US.js +1 -0
  16. package/es/language/es-ES.js +1 -0
  17. package/es/language/fr-FR.js +1 -0
  18. package/es/language/hu-HU.js +1 -0
  19. package/es/language/hy-AM.js +1 -0
  20. package/es/language/id-ID.js +1 -0
  21. package/es/language/it-IT.js +1 -0
  22. package/es/language/ja-JP.js +1 -0
  23. package/es/language/ko-KR.js +1 -0
  24. package/es/language/ms-MY.js +1 -0
  25. package/es/language/nb-NO.js +1 -0
  26. package/es/language/pt-BR.js +1 -0
  27. package/es/language/ru-RU.js +1 -0
  28. package/es/language/th-TH.js +1 -0
  29. package/es/language/ug-CN.js +1 -0
  30. package/es/language/uk-UA.js +1 -0
  31. package/es/language/uz-UZ.js +1 -0
  32. package/es/language/vi-VN.js +1 -0
  33. package/es/language/zh-CHT.js +1 -0
  34. package/es/language/zh-CN.js +1 -0
  35. package/es/list/src/list.js +6 -2
  36. package/es/number-input/src/number-input.js +2 -2
  37. package/es/pulldown/src/pulldown.js +14 -11
  38. package/es/select/src/select.js +15 -3
  39. package/es/style.css +1 -1
  40. package/es/style.min.css +1 -1
  41. package/es/table-select/src/table-select.js +13 -1
  42. package/es/tree/src/tree.js +6 -2
  43. package/es/tree-select/src/tree-select.js +13 -1
  44. package/es/ui/index.js +1 -1
  45. package/es/ui/src/log.js +1 -1
  46. package/es/vxe-date-panel/style.css +1 -1
  47. package/es/vxe-date-panel/style.min.css +1 -1
  48. package/es/vxe-form/style.css +12 -11
  49. package/es/vxe-form/style.min.css +1 -1
  50. package/lib/color-picker/src/color-picker.js +18 -3
  51. package/lib/color-picker/src/color-picker.min.js +1 -1
  52. package/lib/date-panel/style/style.css +1 -1
  53. package/lib/date-panel/style/style.min.css +1 -1
  54. package/lib/date-picker/src/date-picker.js +9 -4
  55. package/lib/date-picker/src/date-picker.min.js +1 -1
  56. package/lib/date-range-picker/src/date-range-picker.js +11 -1
  57. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  58. package/lib/form/src/itemInfo.js +12 -2
  59. package/lib/form/src/itemInfo.min.js +1 -1
  60. package/lib/form/src/render.js +24 -8
  61. package/lib/form/src/render.min.js +1 -1
  62. package/lib/form/style/style.css +12 -11
  63. package/lib/form/style/style.min.css +1 -1
  64. package/lib/icon/style/style.css +1 -1
  65. package/lib/icon/style/style.min.css +1 -1
  66. package/lib/icon-picker/src/icon-picker.js +16 -1
  67. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  68. package/lib/index.umd.js +181 -45
  69. package/lib/index.umd.min.js +1 -1
  70. package/lib/input/src/input.js +11 -4
  71. package/lib/input/src/input.min.js +1 -1
  72. package/lib/language/ar-EG.js +1 -0
  73. package/lib/language/ar-EG.min.js +1 -1
  74. package/lib/language/ar-EG.umd.js +1 -0
  75. package/lib/language/de-DE.js +1 -0
  76. package/lib/language/de-DE.min.js +1 -1
  77. package/lib/language/de-DE.umd.js +1 -0
  78. package/lib/language/en-US.js +1 -0
  79. package/lib/language/en-US.min.js +1 -1
  80. package/lib/language/en-US.umd.js +1 -0
  81. package/lib/language/es-ES.js +1 -0
  82. package/lib/language/es-ES.min.js +1 -1
  83. package/lib/language/es-ES.umd.js +1 -0
  84. package/lib/language/fr-FR.js +1 -0
  85. package/lib/language/fr-FR.min.js +1 -1
  86. package/lib/language/fr-FR.umd.js +1 -0
  87. package/lib/language/hu-HU.js +1 -0
  88. package/lib/language/hu-HU.min.js +1 -1
  89. package/lib/language/hu-HU.umd.js +1 -0
  90. package/lib/language/hy-AM.js +1 -0
  91. package/lib/language/hy-AM.min.js +1 -1
  92. package/lib/language/hy-AM.umd.js +1 -0
  93. package/lib/language/id-ID.js +1 -0
  94. package/lib/language/id-ID.min.js +1 -1
  95. package/lib/language/id-ID.umd.js +1 -0
  96. package/lib/language/it-IT.js +1 -0
  97. package/lib/language/it-IT.min.js +1 -1
  98. package/lib/language/it-IT.umd.js +1 -0
  99. package/lib/language/ja-JP.js +1 -0
  100. package/lib/language/ja-JP.min.js +1 -1
  101. package/lib/language/ja-JP.umd.js +1 -0
  102. package/lib/language/ko-KR.js +1 -0
  103. package/lib/language/ko-KR.min.js +1 -1
  104. package/lib/language/ko-KR.umd.js +1 -0
  105. package/lib/language/ms-MY.js +1 -0
  106. package/lib/language/ms-MY.min.js +1 -1
  107. package/lib/language/ms-MY.umd.js +1 -0
  108. package/lib/language/nb-NO.js +1 -0
  109. package/lib/language/nb-NO.min.js +1 -1
  110. package/lib/language/nb-NO.umd.js +1 -0
  111. package/lib/language/pt-BR.js +1 -0
  112. package/lib/language/pt-BR.min.js +1 -1
  113. package/lib/language/pt-BR.umd.js +1 -0
  114. package/lib/language/ru-RU.js +1 -0
  115. package/lib/language/ru-RU.min.js +1 -1
  116. package/lib/language/ru-RU.umd.js +1 -0
  117. package/lib/language/th-TH.js +1 -0
  118. package/lib/language/th-TH.min.js +1 -1
  119. package/lib/language/th-TH.umd.js +1 -0
  120. package/lib/language/ug-CN.js +1 -0
  121. package/lib/language/ug-CN.min.js +1 -1
  122. package/lib/language/ug-CN.umd.js +1 -0
  123. package/lib/language/uk-UA.js +1 -0
  124. package/lib/language/uk-UA.min.js +1 -1
  125. package/lib/language/uk-UA.umd.js +1 -0
  126. package/lib/language/uz-UZ.js +1 -0
  127. package/lib/language/uz-UZ.min.js +1 -1
  128. package/lib/language/uz-UZ.umd.js +1 -0
  129. package/lib/language/vi-VN.js +1 -0
  130. package/lib/language/vi-VN.min.js +1 -1
  131. package/lib/language/vi-VN.umd.js +1 -0
  132. package/lib/language/zh-CHT.js +1 -0
  133. package/lib/language/zh-CHT.min.js +1 -1
  134. package/lib/language/zh-CHT.umd.js +1 -0
  135. package/lib/language/zh-CN.js +1 -0
  136. package/lib/language/zh-CN.min.js +1 -1
  137. package/lib/language/zh-CN.umd.js +1 -0
  138. package/lib/list/src/list.js +6 -2
  139. package/lib/list/src/list.min.js +1 -1
  140. package/lib/number-input/src/number-input.js +2 -2
  141. package/lib/number-input/src/number-input.min.js +1 -1
  142. package/lib/pulldown/src/pulldown.js +17 -11
  143. package/lib/pulldown/src/pulldown.min.js +1 -1
  144. package/lib/select/src/select.js +18 -3
  145. package/lib/select/src/select.min.js +1 -1
  146. package/lib/style.css +1 -1
  147. package/lib/style.min.css +1 -1
  148. package/lib/table-select/src/table-select.js +16 -1
  149. package/lib/table-select/src/table-select.min.js +1 -1
  150. package/lib/tree/src/tree.js +6 -2
  151. package/lib/tree/src/tree.min.js +1 -1
  152. package/lib/tree-select/src/tree-select.js +16 -1
  153. package/lib/tree-select/src/tree-select.min.js +1 -1
  154. package/lib/ui/index.js +1 -1
  155. package/lib/ui/index.min.js +1 -1
  156. package/lib/ui/src/log.js +1 -1
  157. package/lib/ui/src/log.min.js +1 -1
  158. package/lib/vxe-date-panel/style/style.css +1 -1
  159. package/lib/vxe-date-panel/style/style.min.css +1 -1
  160. package/lib/vxe-form/style/style.css +12 -11
  161. package/lib/vxe-form/style/style.min.css +1 -1
  162. package/package.json +1 -1
  163. package/packages/color-picker/src/color-picker.ts +15 -3
  164. package/packages/date-picker/src/date-picker.ts +9 -4
  165. package/packages/date-range-picker/src/date-range-picker.ts +10 -1
  166. package/packages/form/src/itemInfo.ts +12 -3
  167. package/packages/form/src/render.ts +25 -10
  168. package/packages/icon-picker/src/icon-picker.ts +13 -1
  169. package/packages/input/src/input.ts +15 -8
  170. package/packages/language/ar-EG.ts +1 -0
  171. package/packages/language/de-DE.ts +1 -0
  172. package/packages/language/en-US.ts +1 -0
  173. package/packages/language/es-ES.ts +1 -0
  174. package/packages/language/fr-FR.ts +1 -0
  175. package/packages/language/hu-HU.ts +1 -0
  176. package/packages/language/hy-AM.ts +1 -0
  177. package/packages/language/id-ID.ts +1 -0
  178. package/packages/language/it-IT.ts +1 -0
  179. package/packages/language/ja-JP.ts +1 -0
  180. package/packages/language/ko-KR.ts +1 -0
  181. package/packages/language/ms-MY.ts +1 -0
  182. package/packages/language/nb-NO.ts +1 -0
  183. package/packages/language/pt-BR.ts +1 -0
  184. package/packages/language/ru-RU.ts +1 -0
  185. package/packages/language/th-TH.ts +1 -0
  186. package/packages/language/ug-CN.ts +1 -0
  187. package/packages/language/uk-UA.ts +1 -0
  188. package/packages/language/uz-UZ.ts +1 -0
  189. package/packages/language/vi-VN.ts +1 -0
  190. package/packages/language/zh-CHT.ts +1 -0
  191. package/packages/language/zh-CN.ts +1 -0
  192. package/packages/list/src/list.ts +7 -3
  193. package/packages/number-input/src/number-input.ts +6 -6
  194. package/packages/pulldown/src/pulldown.ts +14 -11
  195. package/packages/select/src/select.ts +15 -3
  196. package/packages/table-select/src/table-select.ts +13 -1
  197. package/packages/tree/src/tree.ts +7 -3
  198. package/packages/tree-select/src/tree-select.ts +13 -1
  199. package/styles/components/date-panel.scss +12 -0
  200. package/styles/components/form.scss +12 -11
  201. package/types/components/form-design.d.ts +11 -0
  202. package/types/components/form-item.d.ts +17 -3
  203. package/types/components/input.d.ts +5 -5
  204. package/types/components/list.d.ts +4 -3
  205. package/types/components/number-input.d.ts +5 -5
  206. package/types/components/table.d.ts +4 -3
  207. package/types/components/textarea.d.ts +6 -6
  208. package/types/components/tree.d.ts +6 -3
  209. /package/es/icon/{iconfont.1753002678278.ttf → iconfont.1753160925338.ttf} +0 -0
  210. /package/es/icon/{iconfont.1753002678278.woff → iconfont.1753160925338.woff} +0 -0
  211. /package/es/icon/{iconfont.1753002678278.woff2 → iconfont.1753160925338.woff2} +0 -0
  212. /package/es/{iconfont.1753002678278.ttf → iconfont.1753160925338.ttf} +0 -0
  213. /package/es/{iconfont.1753002678278.woff → iconfont.1753160925338.woff} +0 -0
  214. /package/es/{iconfont.1753002678278.woff2 → iconfont.1753160925338.woff2} +0 -0
  215. /package/lib/icon/style/{iconfont.1753002678278.ttf → iconfont.1753160925338.ttf} +0 -0
  216. /package/lib/icon/style/{iconfont.1753002678278.woff → iconfont.1753160925338.woff} +0 -0
  217. /package/lib/icon/style/{iconfont.1753002678278.woff2 → iconfont.1753160925338.woff2} +0 -0
  218. /package/lib/{iconfont.1753002678278.ttf → iconfont.1753160925338.ttf} +0 -0
  219. /package/lib/{iconfont.1753002678278.woff → iconfont.1753160925338.woff} +0 -0
  220. /package/lib/{iconfont.1753002678278.woff2 → iconfont.1753160925338.woff2} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "4.7.17",
3
+ "version": "4.7.19",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -90,7 +90,7 @@ export default defineVxeComponent({
90
90
  const { computeSize } = useSize(props)
91
91
 
92
92
  const refElem = ref<HTMLDivElement>()
93
- const refInput = ref<HTMLInputElement>()
93
+ const refInputTarget = ref<HTMLInputElement>()
94
94
  const refOptionPanel = ref<HTMLDivElement>()
95
95
  const refHueSliderElem = ref<HTMLDivElement>()
96
96
  const refHueSliderBtnElem = ref<HTMLDivElement>()
@@ -632,7 +632,19 @@ export default defineVxeComponent({
632
632
  }
633
633
 
634
634
  const handleGlobalBlurEvent = () => {
635
- hideOptionPanel()
635
+ const { visiblePanel, isActivated } = reactData
636
+ if (visiblePanel) {
637
+ hideOptionPanel()
638
+ }
639
+ if (isActivated) {
640
+ reactData.isActivated = false
641
+ }
642
+ if (visiblePanel || isActivated) {
643
+ const targetElem = refInputTarget.value
644
+ if (targetElem) {
645
+ targetElem.blur()
646
+ }
647
+ }
636
648
  }
637
649
 
638
650
  const handleGlobalResizeEvent = () => {
@@ -964,7 +976,7 @@ export default defineVxeComponent({
964
976
  }]
965
977
  }, [
966
978
  h('input', {
967
- ref: refInput,
979
+ ref: refInputTarget,
968
980
  class: 'vxe-color-picker--input',
969
981
  onFocus: focusEvent,
970
982
  onBlur: blurEvent
@@ -53,7 +53,7 @@ export default defineVxeComponent({
53
53
  multiple: Boolean as PropType<VxeDatePickerPropTypes.Multiple>,
54
54
  limitCount: {
55
55
  type: [String, Number] as PropType<VxeDatePickerPropTypes.LimitCount>,
56
- default: () => getConfig().upload.limitCount
56
+ default: () => getConfig().datePicker.limitCount
57
57
  },
58
58
 
59
59
  // date、week、month、quarter、year
@@ -511,12 +511,17 @@ export default defineVxeComponent({
511
511
  const { isActivated, visiblePanel } = reactData
512
512
  if (visiblePanel) {
513
513
  hidePanel()
514
+ }
515
+ if (isActivated) {
516
+ reactData.isActivated = false
517
+ }
518
+ if (visiblePanel || isActivated) {
514
519
  if ($datePanel) {
515
520
  $datePanel.checkValue(reactData.inputLabel)
516
521
  }
517
- } else if (isActivated) {
518
- if ($datePanel) {
519
- $datePanel.checkValue(reactData.inputLabel)
522
+ const targetElem = refInputTarget.value
523
+ if (targetElem) {
524
+ targetElem.blur()
520
525
  }
521
526
  }
522
527
  }
@@ -627,10 +627,19 @@ export default defineVxeComponent({
627
627
  }
628
628
 
629
629
  const handleGlobalBlurEvent = () => {
630
- const { visiblePanel } = reactData
630
+ const { visiblePanel, isActivated } = reactData
631
631
  if (visiblePanel) {
632
632
  hidePanel()
633
633
  }
634
+ if (isActivated) {
635
+ reactData.isActivated = false
636
+ }
637
+ if (visiblePanel || isActivated) {
638
+ const targetElem = refInputTarget.value
639
+ if (targetElem) {
640
+ targetElem.blur()
641
+ }
642
+ }
634
643
  }
635
644
 
636
645
  const handleGlobalResizeEvent = () => {
@@ -4,7 +4,7 @@ import { errLog } from '../../ui/src/log'
4
4
 
5
5
  export class ItemInfo {
6
6
  constructor ($xeForm: any, item: any) {
7
- const { formatter } = item
7
+ const { field, itemRender, formatter } = item
8
8
  if (formatter) {
9
9
  if (XEUtils.isString(formatter)) {
10
10
  const gFormatOpts = formats.get(formatter)
@@ -19,10 +19,19 @@ export class ItemInfo {
19
19
  }
20
20
  }
21
21
 
22
+ if (field && itemRender) {
23
+ if (itemRender.startField && `${itemRender.startField}`.indexOf(field) >= 0) {
24
+ errLog('vxe.error.modelConflicts', [`field=${field}`, `item-render.startField=${itemRender.startField}`])
25
+ }
26
+ if (itemRender.endField && `${itemRender.endField}`.indexOf(field) >= 0) {
27
+ errLog('vxe.error.modelConflicts', [`field=${field}`, `item-render.endField=${itemRender.endField}`])
28
+ }
29
+ }
30
+
22
31
  Object.assign(this, {
23
32
  id: XEUtils.uniqueId('item_'),
24
33
  title: item.title,
25
- field: item.field,
34
+ field: field,
26
35
  span: item.span,
27
36
  align: item.align,
28
37
  verticalAlign: item.verticalAlign,
@@ -49,7 +58,7 @@ export class ItemInfo {
49
58
  contentStyle: item.contentStyle,
50
59
  titleClassName: item.titleClassName,
51
60
  titleStyle: item.titleStyle,
52
- itemRender: item.itemRender,
61
+ itemRender: itemRender,
53
62
  rules: item.rules,
54
63
  formatter,
55
64
  // 自定义参数
@@ -12,7 +12,7 @@ import type { VxeFormConstructor, VxeFormDefines, VxeFormItemPropTypes, VxeFormP
12
12
 
13
13
  function renderPrefixIcon (titlePrefix: VxeFormItemPropTypes.TitlePrefix) {
14
14
  return h('span', {
15
- class: 'vxe-form--item-title-prefix'
15
+ class: 'vxe-form--item-title-tip-prefix'
16
16
  }, [
17
17
  h(VxeIconComponent, {
18
18
  class: titlePrefix.icon || getIcon().FORM_PREFIX,
@@ -23,7 +23,7 @@ function renderPrefixIcon (titlePrefix: VxeFormItemPropTypes.TitlePrefix) {
23
23
 
24
24
  function renderSuffixIcon (titleSuffix: VxeFormItemPropTypes.TitleSuffix) {
25
25
  return h('span', {
26
- class: 'vxe-form--item-title-suffix'
26
+ class: 'vxe-form--item-title-tip-suffix'
27
27
  }, [
28
28
  h(VxeIconComponent, {
29
29
  class: titleSuffix.icon || getIcon().FORM_SUFFIX,
@@ -128,14 +128,24 @@ export function renderTitle ($xeForm: VxeFormConstructor & VxeFormPrivateMethods
128
128
  const hasEllipsis = ovTitle || ovTooltip || ovEllipsis
129
129
  const params = { data, disabled, readonly, field, property: field, item, $form: $xeForm, $grid: $xeGrid }
130
130
  const titleSlot = slots ? slots.title : null
131
- const extraSlot = slots ? slots.extra : null
131
+ const prefixSlot = slots ? slots.prefix : null
132
+ const suffixSlot = slots ? slots.suffix || slots.extra : null
132
133
  const isTitle = (showTitle !== false) && (title || titleSlot)
133
134
  const hasGroup = children && children.length > 0
134
135
  const titVNs: VNode[] = []
136
+ if (prefixSlot) {
137
+ titVNs.push(
138
+ h('span', {
139
+ key: 'pt',
140
+ class: 'vxe-form--item-title-prefix'
141
+ }, $xeForm.callSlot(prefixSlot, params))
142
+ )
143
+ }
135
144
  if (titlePrefix) {
136
145
  titVNs.push(
137
146
  (titlePrefix.content || titlePrefix.message)
138
147
  ? h(VxeTooltipComponent, {
148
+ key: 'pm',
139
149
  ...tooltipOpts,
140
150
  ...titlePrefix,
141
151
  content: getFuncText(titlePrefix.content || titlePrefix.message)
@@ -148,14 +158,16 @@ export function renderTitle ($xeForm: VxeFormConstructor & VxeFormPrivateMethods
148
158
  const rftTitle = compConf ? (compConf.renderFormItemTitle || compConf.renderItemTitle) : null
149
159
  titVNs.push(
150
160
  h('span', {
161
+ key: 'pl',
151
162
  class: 'vxe-form--item-title-label'
152
163
  }, titleSlot ? $xeForm.callSlot(titleSlot, params) : (rftTitle ? getSlotVNs(rftTitle(itemRender, params)) : getFuncText(item.title)))
153
164
  )
154
- const fixVNs = []
165
+ const fixVNs: VNode[] = []
155
166
  if (titleSuffix) {
156
167
  fixVNs.push(
157
168
  (titleSuffix.content || titleSuffix.message)
158
169
  ? h(VxeTooltipComponent, {
170
+ key: 'sm',
159
171
  ...tooltipOpts,
160
172
  ...titleSuffix,
161
173
  content: getFuncText(titleSuffix.content || titleSuffix.message)
@@ -165,6 +177,14 @@ export function renderTitle ($xeForm: VxeFormConstructor & VxeFormPrivateMethods
165
177
  : renderSuffixIcon(titleSuffix)
166
178
  )
167
179
  }
180
+ if (suffixSlot) {
181
+ fixVNs.push(
182
+ h('span', {
183
+ key: 'st',
184
+ class: 'vxe-form--item-title-suffix'
185
+ }, $xeForm.callSlot(suffixSlot, params))
186
+ )
187
+ }
168
188
  const ons = ovTooltip
169
189
  ? {
170
190
  onMouseenter (evnt: MouseEvent) {
@@ -202,12 +222,7 @@ export function renderTitle ($xeForm: VxeFormConstructor & VxeFormPrivateMethods
202
222
  }, titVNs),
203
223
  h('div', {
204
224
  class: 'vxe-form--item-title-postfix'
205
- }, fixVNs),
206
- extraSlot
207
- ? h('div', {
208
- class: 'vxe-form--item-title-extra'
209
- }, $xeForm.callSlot(extraSlot, params))
210
- : createCommentVNode()
225
+ }, fixVNs)
211
226
  ])
212
227
  : createCommentVNode()
213
228
  }
@@ -399,7 +399,19 @@ export default defineVxeComponent({
399
399
  }
400
400
 
401
401
  const handleGlobalBlurEvent = () => {
402
- hideOptionPanel()
402
+ const { visiblePanel, isActivated } = reactData
403
+ if (visiblePanel) {
404
+ hideOptionPanel()
405
+ }
406
+ if (isActivated) {
407
+ reactData.isActivated = false
408
+ }
409
+ if (visiblePanel || isActivated) {
410
+ const $input = refInput.value
411
+ if ($input) {
412
+ $input.blur()
413
+ }
414
+ }
403
415
  }
404
416
 
405
417
  const dispatchEvent = (type: ValueOf<VxeIconPickerEmits>, params: Record<string, any>, evnt: Event | null) => {
@@ -1002,11 +1002,11 @@ export default defineVxeComponent({
1002
1002
  }
1003
1003
 
1004
1004
  const validMaxNum = (num: number | string) => {
1005
- return props.max === null || XEUtils.toNumber(num) <= XEUtils.toNumber(props.max)
1005
+ return props.max === null || props.max === '' || XEUtils.toNumber(num) <= XEUtils.toNumber(props.max)
1006
1006
  }
1007
1007
 
1008
1008
  const validMinNum = (num: number | string) => {
1009
- return props.min === null || XEUtils.toNumber(num) >= XEUtils.toNumber(props.min)
1009
+ return props.min === null || props.min === '' || XEUtils.toNumber(num) >= XEUtils.toNumber(props.min)
1010
1010
  }
1011
1011
 
1012
1012
  const dateRevert = () => {
@@ -1091,9 +1091,9 @@ export default defineVxeComponent({
1091
1091
  if (inpVal) {
1092
1092
  let inpNumVal: number | string = type === 'integer' ? XEUtils.toInteger(inpVal) : XEUtils.toNumber(inpVal)
1093
1093
  if (!validMinNum(inpNumVal)) {
1094
- inpNumVal = min
1094
+ inpNumVal = min as number
1095
1095
  } else if (!validMaxNum(inpNumVal)) {
1096
- inpNumVal = max
1096
+ inpNumVal = max as number
1097
1097
  }
1098
1098
  if (exponential) {
1099
1099
  const inpStringVal = XEUtils.toValueString(inputValue).toLowerCase()
@@ -1177,9 +1177,9 @@ export default defineVxeComponent({
1177
1177
  const newValue = isPlus ? XEUtils.add(numValue, stepValue) : XEUtils.subtract(numValue, stepValue)
1178
1178
  let restNum: number | string
1179
1179
  if (!validMinNum(newValue)) {
1180
- restNum = min
1180
+ restNum = min as number
1181
1181
  } else if (!validMaxNum(newValue)) {
1182
- restNum = max
1182
+ restNum = max as number
1183
1183
  } else {
1184
1184
  restNum = newValue
1185
1185
  }
@@ -1930,9 +1930,16 @@ export default defineVxeComponent({
1930
1930
  const { isActivated, visiblePanel } = reactData
1931
1931
  if (visiblePanel) {
1932
1932
  hidePanel()
1933
+ }
1934
+ if (isActivated) {
1935
+ reactData.isActivated = false
1936
+ }
1937
+ if (visiblePanel || isActivated) {
1938
+ const inputElem = refInputTarget.value
1933
1939
  afterCheckValue()
1934
- } else if (isActivated) {
1935
- afterCheckValue()
1940
+ if (inputElem) {
1941
+ inputElem.blur()
1942
+ }
1936
1943
  }
1937
1944
  }
1938
1945
 
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'يجب أن تستخدم رؤوس عمود التجميع "{0}" بدلاً من "{1}" ، والتي قد تسبب أخطاء',
18
18
  scrollErrProp: 'لا يتم دعم هذه المعلمة "{0}" بعد تمكين التمرير الظاهري',
19
19
  errConflicts: 'المعلمة "{0}" تتعارض مع "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: 'لا يتم دعم "{1}" عند تمكين المعلمة "{0}" ، يجب أن يكون "{2}" ، وإلا',
21
22
  notConflictProp: 'عند استخدام "{0}" ، يجب تعيين "{1}" ، وإلا قد يكون هناك تعارضات وظيفية',
22
23
  unableInsert: 'لا يمكن إدراجها في الموقع المحدد ، يرجى التحقق مما إذا كانت المعلمات صحيحة',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Gruppierungsspalten -Header sollten "{0}" anstelle von "{1}" verwenden, was zu Fehlern führen kann',
18
18
  scrollErrProp: 'Dieser Parameter "{0}" wird nicht unterstützt, nachdem die virtuelle Scrollen aktiviert ist',
19
19
  errConflicts: 'Parameter "{0}" Konflikte mit "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" wird nicht unterstützt, wenn der Parameter "{0}" aktiviert ist. Es sollte "{2}" sein, andernfalls tritt ein Fehler auf',
21
22
  notConflictProp: 'Wenn "{0}" verwendet wird, sollte "{1}" festgelegt werden, andernfalls kann es funktionale Konflikte geben',
22
23
  unableInsert: 'Kann nicht in den angegebenen Ort eingefügt werden. Überprüfen Sie bitte, ob die Parameter korrekt sind',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Grouping column headers should use "{0}" instead of "{1}", which may cause errors',
18
18
  scrollErrProp: 'This parameter "{0}" is not supported after virtual scrolling is enabled',
19
19
  errConflicts: 'Parameter "{0}" conflicts with "{1}"',
20
+ modelConflicts: 'The bound field values "{0}" and "{1}" conflict, an error will occur.',
20
21
  notSupportProp: '"{1}" is not supported when the parameter "{0}" is enabled, it should be "{2}", otherwise an error will occur',
21
22
  notConflictProp: 'When using "{0}", "{1}" should be set, otherwise there may be functional conflicts',
22
23
  unableInsert: 'Cannot be inserted into the specified location, please check whether the parameters are correct',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Los encabezados de la columna de agrupación deben usar "{0}" en lugar de "{1}", lo que puede causar errores',
18
18
  scrollErrProp: 'Este parámetro "{0}" no es compatible después de que el desplazamiento virtual esté habilitado',
19
19
  errConflicts: 'Parámetro "{0}" En conflicto con "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" no se admite cuando el parámetro "{0}" está habilitado, debería ser "{2}", de lo contrario ocurrirá un error',
21
22
  notConflictProp: 'Cuando se usa "{0}", "{1}" debe establecerse, de lo contrario puede haber conflictos funcionales',
22
23
  unableInsert: 'No se puede insertar en la ubicación especificada, verifique si los parámetros son correctos',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Le regroupement des en-têtes de colonne doit utiliser "{0}" au lieu de "{1}", ce qui peut entraîner des erreurs',
18
18
  scrollErrProp: "Ce paramètre \"{0}\" n'est pas pris en charge après l'activation du défilement virtuel",
19
19
  errConflicts: 'Paramètre "{0}" entre en conflit avec "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: "\"{1}\" n'est pas pris en charge lorsque le paramètre \"{0}\" est activé, il devrait être \"{2}\", sinon une erreur se produira",
21
22
  notConflictProp: 'Lorsque vous utilisez "{0}", "{1}" doit être défini, sinon il peut y avoir des conflits fonctionnels',
22
23
  unableInsert: "Ne peut pas être inséré dans l'emplacement spécifié, veuillez vérifier si les paramètres sont corrects",
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Az oszlopfejlécek csoportosításának a "{0}" -et használni kell a "{1}" helyett, amely hibákat okozhat',
18
18
  scrollErrProp: 'Ezt a "{0}" paramétert a virtuális görgetés engedélyezése után nem támogatják',
19
19
  errConflicts: 'A "{0}" paraméter konfliktusok "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: 'A "{1}" nem támogatott, ha a "{0}" paraméter engedélyezve van, "{2}" -nek kell lennie, különben hiba lép fel',
21
22
  notConflictProp: 'A "{0}" használatakor a "{1}" -et be kell állítani, különben funkcionális konfliktusok merülhetnek fel',
22
23
  unableInsert: 'Nem lehet beilleszteni a megadott helyre, kérjük, ellenőrizze, hogy a paraméterek helyesek -e',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: '分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',
18
18
  scrollErrProp: '启用虚拟滚动后不支持该参数 "{0}"',
19
19
  errConflicts: '参数 "{0}" 与 "{1}" 有冲突',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '当启用参数 "{0}" 时不支持 "{1}",应该为 "{2}",否则将会出现错误',
21
22
  notConflictProp: '当使用 "{0}" 时,应该设置 "{1}",否则可能会存在功能冲突',
22
23
  unableInsert: '无法插入到指定位置,请检查参数是否正确',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Mengelompokkan header kolom harus menggunakan "{0}" bukan "{1}", yang dapat menyebabkan kesalahan',
18
18
  scrollErrProp: 'Parameter ini "{0}" tidak didukung setelah pengguliran virtual diaktifkan',
19
19
  errConflicts: 'Parameter "{0}" bertentangan dengan "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" tidak didukung ketika parameter "{0}" diaktifkan, itu harus menjadi "{2}", jika tidak kesalahan akan terjadi',
21
22
  notConflictProp: 'Saat menggunakan "{0}", "{1}" harus diatur, jika tidak mungkin ada konflik fungsional',
22
23
  unableInsert: 'Tidak dapat dimasukkan ke lokasi yang ditentukan, silakan periksa apakah parameternya benar',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Le intestazioni della colonna di raggruppamento dovrebbero usare "{0}" invece di "{1}", che può causare errori',
18
18
  scrollErrProp: 'Questo parametro "{0}" non è supportato dopo che lo scorrimento virtuale è abilitato',
19
19
  errConflicts: 'Parametro "{0}" conflitti con "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" non è supportato quando il parametro "{0}" è abilitato, dovrebbe essere "{2}", altrimenti si verificherà un errore',
21
22
  notConflictProp: 'Quando si utilizza "{0}", "{1}" dovrebbe essere impostato, altrimenti potrebbero esserci conflitti funzionali',
22
23
  unableInsert: 'Non può essere inserito nella posizione specificata, si prega di verificare se i parametri sono corretti',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'グループ化列ヘッダーは、「{1}」の代わりに「{0}」を使用する必要があります。',
18
18
  scrollErrProp: 'このパラメーター「{0}」は、仮想スクロールが有効になった後にサポートされていません',
19
19
  errConflicts: 'パラメーター「{0}」は「{1}」と競合します',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '「{1}」はパラメーター「{0}」が有効になっている場合、「{2}」である必要があります。そうしないと、エラーが発生します。',
21
22
  notConflictProp: '「{0}」を使用する場合、「{1}」を設定する必要があります。',
22
23
  unableInsert: '指定された場所に挿入できません。パラメーターが正しいかどうかを確認してください',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: '열 헤더 그룹화는 "{1}"대신 "{0}"을 사용해야하며 오류가 발생할 수 있습니다.',
18
18
  scrollErrProp: '이 매개 변수 "{0}"은 가상 스크롤링이 활성화 된 후에 지원되지 않습니다.',
19
19
  errConflicts: '매개 변수 "{0}" "{1}"과 충돌합니다.',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}"은 "{0}"매개 변수가 활성화 될 때 지원되지 않습니다. "{2}"이어야합니다. 그렇지 않으면 오류가 발생합니다.',
21
22
  notConflictProp: '"{0}"을 사용하는 경우 "{1}"을 설정해야합니다. 그렇지 않으면 기능적 충돌이있을 수 있습니다.',
22
23
  unableInsert: '지정된 위치에 삽입 할 수 없으므로 매개 변수가 올바른지 확인하십시오.',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Mengumpulkan tajuk lajur harus menggunakan "{0}" bukannya "{1}", yang boleh menyebabkan kesilapan',
18
18
  scrollErrProp: 'Parameter ini "{0}" tidak disokong selepas menatal maya diaktifkan',
19
19
  errConflicts: 'Parameter "{0}" Konflik dengan "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" tidak disokong apabila parameter "{0}" diaktifkan, ia harus "{2}", jika tidak, ralat akan berlaku',
21
22
  notConflictProp: 'Apabila menggunakan "{0}", "{1}" harus ditetapkan, jika tidak ada konflik fungsional',
22
23
  unableInsert: 'Tidak dapat dimasukkan ke lokasi yang ditentukan, sila periksa sama ada parameternya betul',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Gruppering av kolonneoverskrifter bør bruke "{0}" i stedet for "{1}", som kan forårsake feil',
18
18
  scrollErrProp: 'Denne parameteren "{0}" støttes ikke etter at virtuell rulling er aktivert',
19
19
  errConflicts: 'Parameter "{0}" Konflikter med "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" støttes ikke når parameteren "{0}" er aktivert, den skal være "{2}", ellers vil det oppstå en feil',
21
22
  notConflictProp: 'Når du bruker "{0}", "{1}" skal settes, ellers kan det være funksjonelle konflikter',
22
23
  unableInsert: 'Kan ikke settes inn på det spesifiserte stedet, vennligst sjekk om parametrene er riktige',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Os cabeçalhos da coluna de agrupamento devem usar "{0}" em vez de "{1}", o que pode causar erros',
18
18
  scrollErrProp: 'Este parâmetro "{0}" não é suportado após a rolagem virtual ser ativada',
19
19
  errConflicts: 'Parâmetro "{0}" conflita com "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" não é suportado quando o parâmetro "{0}" estiver ativado, ele deve ser "{2}", caso contrário, um erro ocorrerá',
21
22
  notConflictProp: 'Ao usar "{0}", "{1}" deve ser definido, caso contrário, pode haver conflitos funcionais',
22
23
  unableInsert: 'Não pode ser inserido no local especificado, verifique se os parâmetros estão corretos',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Заголовки столбцов группировки должны использовать «{0}» вместо «{1}», что может вызвать ошибки',
18
18
  scrollErrProp: 'Этот параметр "{0}" не поддерживается после включения виртуальной прокрутки',
19
19
  errConflicts: 'Параметр "{0}" Конфликт с "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" не поддерживается, когда параметр "{0}"',
21
22
  notConflictProp: 'При использовании "{0}", "{1}" должен быть установлен, в противном случае могут быть функциональные конфликты',
22
23
  unableInsert: 'Нельзя вставить в указанное место, пожалуйста, проверьте, являются ли параметры правильными',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'ส่วนหัวคอลัมน์การจัดกลุ่มควรใช้ "{0}" แทน "{1}" ซึ่งอาจทำให้เกิดข้อผิดพลาด',
18
18
  scrollErrProp: 'พารามิเตอร์นี้ "{0}" นี้ไม่ได้รับการสนับสนุนหลังจากเปิดใช้งานการเลื่อนเสมือนจริง',
19
19
  errConflicts: 'พารามิเตอร์ "{0}" ขัดแย้งกับ "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" ไม่ได้รับการสนับสนุนเมื่อเปิดใช้งานพารามิเตอร์ "{0}" มันควรจะเป็น "{2}" มิฉะนั้นจะเกิดข้อผิดพลาดเกิดขึ้น',
21
22
  notConflictProp: 'เมื่อใช้ "{0}", "{1}" ควรตั้งค่ามิฉะนั้นอาจมีความขัดแย้งในการทำงาน',
22
23
  unableInsert: 'ไม่สามารถแทรกลงในตำแหน่งที่ระบุได้โปรดตรวจสอบว่าพารามิเตอร์ถูกต้องหรือไม่',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'گۇرۇپپا قۇر بىشىغا چوقۇم "{0}" نى ئىشلىتىشىڭىز كىرەك،ھەرگىزمۇ "{1}"نى ئەمەس ،بولمىسا بۇ بەلكىم خاتالىق كەلتۈرۈپ چىقىرىشى مومكىن',
18
18
  scrollErrProp: 'مەۋھۇم يۇمىلاتما ئىقىدارىنى قوزغاتقاندىن كىيىن بۇ سېپىرنى تەكشەشكە بولمايدۇ "{0}"',
19
19
  errConflicts: 'سان سىپىر "{0}" بىلەن "{1}" دە ماسلاشماسلىق ئەھۋالى مەۋجۇت',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '当启用参数 "{0}" 时不支持 "{1}",应该为 "{2}",否则将会出现错误',
21
22
  notConflictProp: '当使用 "{0}" 时,应该设置 "{1}",否则可能会存在功能冲突',
22
23
  unableInsert: 'بىكىتىلگەن ئورۇنغا قىستۇرۇشقا بولمايدۇ، پارامېتىرىڭىزنىڭ توغرا-خاتالىقىنى تەكشۈرۈڭ ',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Заголовок стовпців групування повинно використовувати "{0}" замість "{1}", що може спричинити помилки',
18
18
  scrollErrProp: 'Цей параметр "{0}" не підтримується після включення віртуальної прокрутки',
19
19
  errConflicts: 'Параметр "{0}" Конфлікти з "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" не підтримується, коли параметр "{0}" ввімкнено, він повинен бути "{2}", інакше помилка станеться',
21
22
  notConflictProp: 'При використанні "{0}", "{1}" слід встановити, інакше можуть бути функціональні конфлікти',
22
23
  unableInsert: 'Неможливо вставити у вказане місце, будь ласка, перевірте, чи правильні параметри',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: "\"Lim li}\" o'rniga guruh sarlavhalarida \"{1}\" o'rniga \"{0}\" o'rniga \"{0}\" dan foydalanish kerak",
18
18
  scrollErrProp: "Virtual aylantirish yoqilgandan so'ng \"{0}\" ushbu parametr qo'llab-quvvatlanmaydi",
19
19
  errConflicts: '"{0}" parametr "{1}" bilan ziddiyatlar',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" parametri yoqilganda, u "{2}" parametrlari yoqilgan, aks holda xatolik yuz beradi',
21
22
  notConflictProp: "\"{0}\", \"{1}\" dan foydalanish kerak bo'lganda, aks holda funktsional to'qnashuvlar bo'lishi mumkin",
22
23
  unableInsert: "Belgilangan joyda kiritilishi mumkin emas, parametrlar to'g'ri yoki yo'qligini tekshiring",
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: 'Nhóm tiêu đề nhóm nên sử dụng "{0}" thay vì "{1}", có thể gây ra lỗi',
18
18
  scrollErrProp: 'Tham số này "{0}" không được hỗ trợ sau khi cuộn ảo được bật',
19
19
  errConflicts: 'Tham số "{0}" Xung đột với "{1}"',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '"{1}" không được hỗ trợ khi tham số "{0}" được bật, nó phải là "{2}", nếu không sẽ xảy ra lỗi',
21
22
  notConflictProp: 'Khi sử dụng "{0}", "{1}" nên được đặt, nếu không có thể có xung đột chức năng',
22
23
  unableInsert: 'Không thể được chèn vào vị trí đã chỉ định, vui lòng kiểm tra xem các tham số có đúng không',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: '分組列頭應該使用 "{0}" 而不是 "{1}",這可能會出現錯誤',
18
18
  scrollErrProp: '啟用虛擬滾動後不支持該參數 "{0}"',
19
19
  errConflicts: '參數 "{0}" 與 "{1}" 有衝突',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '當啟用參數 "{0}" 時不支持 "{1}",應該為 "{2}",否則將會出現錯誤',
21
22
  notConflictProp: '當使用 "{0}" 時,應該設置 "{1}",否則可能會存在功能衝突',
22
23
  unableInsert: '無法插入到指定位置,請檢查參數是否正確',
@@ -17,6 +17,7 @@ export default {
17
17
  groupTag: '分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',
18
18
  scrollErrProp: '启用虚拟滚动后不支持该参数 "{0}"',
19
19
  errConflicts: '参数 "{0}" 与 "{1}" 有冲突',
20
+ modelConflicts: '绑定的字段值 "{0}" 与 "{1}" 存在冲突,将会出现错误',
20
21
  notSupportProp: '当启用参数 "{0}" 时不支持 "{1}",应该为 "{2}",否则将会出现错误',
21
22
  notConflictProp: '当使用 "{0}" 时,应该设置 "{1}",否则可能会存在功能冲突',
22
23
  unableInsert: '无法插入到指定位置,请检查参数是否正确',
@@ -193,11 +193,15 @@ export default defineVxeComponent({
193
193
 
194
194
  /**
195
195
  * 如果有滚动条,则滚动到对应的位置
196
- * @param {Number} scrollLeft 左距离
197
- * @param {Number} scrollTop 上距离
198
196
  */
199
- const scrollTo = (scrollLeft: number | null, scrollTop?: number | null) => {
197
+ const scrollTo = (scrollLeft: { top?: number | null; left?: number | null; } | number | null | undefined, scrollTop?: number | null) => {
200
198
  const scrollBodyElem = refVirtualWrapper.value
199
+ if (scrollLeft) {
200
+ if (!XEUtils.isNumber(scrollLeft)) {
201
+ scrollTop = scrollLeft.top
202
+ scrollLeft = scrollLeft.left
203
+ }
204
+ }
201
205
  if (XEUtils.isNumber(scrollLeft)) {
202
206
  scrollBodyElem.scrollLeft = scrollLeft
203
207
  }
@@ -474,11 +474,11 @@ export default defineVxeComponent({
474
474
  }
475
475
 
476
476
  const validMaxNum = (num: number | string) => {
477
- return props.max === null || XEUtils.toNumber(num) <= XEUtils.toNumber(props.max)
477
+ return props.max === null || props.max === '' || XEUtils.toNumber(num) <= XEUtils.toNumber(props.max)
478
478
  }
479
479
 
480
480
  const validMinNum = (num: number | string) => {
481
- return props.min === null || XEUtils.toNumber(num) >= XEUtils.toNumber(props.min)
481
+ return props.min === null || props.min === '' || XEUtils.toNumber(num) >= XEUtils.toNumber(props.min)
482
482
  }
483
483
 
484
484
  const afterCheckValue = () => {
@@ -499,9 +499,9 @@ export default defineVxeComponent({
499
499
  if (inputValue || (min || max)) {
500
500
  let inpNumVal: number | string = type === 'integer' ? XEUtils.toInteger(handleNumber(inputValue)) : XEUtils.toNumber(handleNumber(inputValue))
501
501
  if (!validMinNum(inpNumVal)) {
502
- inpNumVal = min
502
+ inpNumVal = min as number
503
503
  } else if (!validMaxNum(inpNumVal)) {
504
- inpNumVal = max
504
+ inpNumVal = max as number
505
505
  }
506
506
  if (exponential) {
507
507
  const inpStringVal = handleNumberString(inputValue).toLowerCase()
@@ -541,9 +541,9 @@ export default defineVxeComponent({
541
541
  const newValue = isPlus ? XEUtils.add(numValue, stepValue) : XEUtils.subtract(numValue, stepValue)
542
542
  let restNum: number | string
543
543
  if (!validMinNum(newValue)) {
544
- restNum = min
544
+ restNum = min as number
545
545
  } else if (!validMaxNum(newValue)) {
546
- restNum = max
546
+ restNum = max as number
547
547
  } else {
548
548
  restNum = newValue
549
549
  }