vxe-pc-ui 4.6.8 → 4.6.10

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 (178) hide show
  1. package/es/alert/src/alert.js +5 -5
  2. package/es/anchor/src/anchor-link.js +3 -2
  3. package/es/anchor/src/anchor.js +3 -3
  4. package/es/breadcrumb/src/breadcrumb-item.js +3 -2
  5. package/es/button/src/button-group.js +3 -3
  6. package/es/button/src/button.js +7 -8
  7. package/es/card/src/card.js +7 -7
  8. package/es/carousel/src/carousel.js +3 -3
  9. package/es/countdown/src/countdown.js +4 -4
  10. package/es/form/render/index.js +2 -4
  11. package/es/form/src/form-group.js +5 -3
  12. package/es/form/src/form-item.js +6 -4
  13. package/es/form/src/form.js +97 -37
  14. package/es/form-design/src/default-setting-form.js +1 -1
  15. package/es/form-design/src/form-view.js +7 -9
  16. package/es/icon/style.css +1 -1
  17. package/es/icon-picker/src/icon-picker.js +4 -4
  18. package/es/image/src/group.js +3 -1
  19. package/es/image/src/image.js +3 -1
  20. package/es/image/src/preview.js +33 -19
  21. package/es/image/src/util.js +1 -0
  22. package/es/list-design/src/layout-preview.js +5 -7
  23. package/es/list-design/src/list-view.js +8 -10
  24. package/es/loading/src/loading.js +3 -3
  25. package/es/menu/src/menu.js +9 -9
  26. package/es/modal/src/modal.js +16 -18
  27. package/es/pager/src/pager.js +1 -3
  28. package/es/password-input/src/password-input.js +7 -7
  29. package/es/print/src/print.js +6 -6
  30. package/es/pulldown/src/pulldown.js +4 -4
  31. package/es/style.css +1 -1
  32. package/es/style.min.css +1 -1
  33. package/es/switch/src/switch.js +4 -4
  34. package/es/table-select/src/table-select.js +5 -7
  35. package/es/tabs/src/tabs.js +11 -15
  36. package/es/tag/src/tag.js +3 -3
  37. package/es/tip/src/tip.js +5 -5
  38. package/es/tree/src/tree.js +245 -180
  39. package/es/ui/index.js +3 -7
  40. package/es/ui/src/log.js +1 -1
  41. package/es/upload/src/upload.js +31 -33
  42. package/lib/alert/src/alert.js +3 -3
  43. package/lib/alert/src/alert.min.js +1 -1
  44. package/lib/anchor/src/anchor-link.js +2 -1
  45. package/lib/anchor/src/anchor-link.min.js +1 -1
  46. package/lib/anchor/src/anchor.js +3 -3
  47. package/lib/anchor/src/anchor.min.js +1 -1
  48. package/lib/breadcrumb/src/breadcrumb-item.js +2 -1
  49. package/lib/breadcrumb/src/breadcrumb-item.min.js +1 -1
  50. package/lib/button/src/button-group.js +6 -6
  51. package/lib/button/src/button-group.min.js +1 -1
  52. package/lib/button/src/button.js +4 -6
  53. package/lib/button/src/button.min.js +1 -1
  54. package/lib/card/src/card.js +4 -4
  55. package/lib/card/src/card.min.js +1 -1
  56. package/lib/carousel/src/carousel.js +1 -1
  57. package/lib/carousel/src/carousel.min.js +1 -1
  58. package/lib/countdown/src/countdown.js +2 -2
  59. package/lib/countdown/src/countdown.min.js +1 -1
  60. package/lib/form/render/index.js +2 -4
  61. package/lib/form/render/index.min.js +1 -1
  62. package/lib/form/src/form-group.js +3 -1
  63. package/lib/form/src/form-group.min.js +1 -1
  64. package/lib/form/src/form-item.js +4 -2
  65. package/lib/form/src/form-item.min.js +1 -1
  66. package/lib/form/src/form.js +95 -36
  67. package/lib/form/src/form.min.js +1 -1
  68. package/lib/form-design/src/default-setting-form.js +12 -12
  69. package/lib/form-design/src/default-setting-form.min.js +1 -1
  70. package/lib/form-design/src/form-view.js +5 -7
  71. package/lib/form-design/src/form-view.min.js +1 -1
  72. package/lib/icon/style/style.css +1 -1
  73. package/lib/icon/style/style.min.css +1 -1
  74. package/lib/icon-picker/src/icon-picker.js +2 -2
  75. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  76. package/lib/image/src/group.js +3 -0
  77. package/lib/image/src/group.min.js +1 -1
  78. package/lib/image/src/image.js +3 -0
  79. package/lib/image/src/image.min.js +1 -1
  80. package/lib/image/src/preview.js +20 -8
  81. package/lib/image/src/preview.min.js +1 -1
  82. package/lib/image/src/util.js +1 -0
  83. package/lib/image/src/util.min.js +1 -1
  84. package/lib/index.umd.js +549 -377
  85. package/lib/index.umd.min.js +1 -1
  86. package/lib/list-design/src/layout-preview.js +5 -7
  87. package/lib/list-design/src/layout-preview.min.js +1 -1
  88. package/lib/list-design/src/list-view.js +6 -8
  89. package/lib/list-design/src/list-view.min.js +1 -1
  90. package/lib/loading/src/loading.js +1 -1
  91. package/lib/loading/src/loading.min.js +1 -1
  92. package/lib/menu/src/menu.js +6 -6
  93. package/lib/menu/src/menu.min.js +1 -1
  94. package/lib/modal/src/modal.js +12 -14
  95. package/lib/modal/src/modal.min.js +1 -1
  96. package/lib/pager/src/pager.js +1 -3
  97. package/lib/pager/src/pager.min.js +1 -1
  98. package/lib/password-input/src/password-input.js +4 -4
  99. package/lib/password-input/src/password-input.min.js +1 -1
  100. package/lib/print/src/print.js +4 -4
  101. package/lib/print/src/print.min.js +1 -1
  102. package/lib/pulldown/src/pulldown.js +2 -2
  103. package/lib/pulldown/src/pulldown.min.js +1 -1
  104. package/lib/style.css +1 -1
  105. package/lib/style.min.css +1 -1
  106. package/lib/switch/src/switch.js +2 -2
  107. package/lib/switch/src/switch.min.js +1 -1
  108. package/lib/table-select/src/table-select.js +5 -7
  109. package/lib/table-select/src/table-select.min.js +1 -1
  110. package/lib/tabs/src/tabs.js +10 -14
  111. package/lib/tabs/src/tabs.min.js +1 -1
  112. package/lib/tag/src/tag.js +1 -1
  113. package/lib/tag/src/tag.min.js +1 -1
  114. package/lib/tip/src/tip.js +3 -3
  115. package/lib/tip/src/tip.min.js +1 -1
  116. package/lib/tree/src/tree.js +298 -184
  117. package/lib/tree/src/tree.min.js +1 -1
  118. package/lib/ui/index.js +3 -7
  119. package/lib/ui/index.min.js +1 -1
  120. package/lib/ui/src/log.js +1 -1
  121. package/lib/ui/src/log.min.js +1 -1
  122. package/lib/upload/src/upload.js +27 -29
  123. package/lib/upload/src/upload.min.js +1 -1
  124. package/package.json +1 -1
  125. package/packages/alert/src/alert.ts +5 -5
  126. package/packages/anchor/src/anchor-link.ts +3 -2
  127. package/packages/anchor/src/anchor.ts +3 -3
  128. package/packages/breadcrumb/src/breadcrumb-item.ts +3 -2
  129. package/packages/button/src/button-group.ts +3 -3
  130. package/packages/button/src/button.ts +7 -8
  131. package/packages/card/src/card.ts +7 -7
  132. package/packages/carousel/src/carousel.ts +3 -3
  133. package/packages/countdown/src/countdown.ts +4 -4
  134. package/packages/form/render/index.ts +2 -4
  135. package/packages/form/src/form-group.ts +7 -3
  136. package/packages/form/src/form-item.ts +7 -4
  137. package/packages/form/src/form.ts +98 -35
  138. package/packages/form-design/src/default-setting-form.ts +1 -1
  139. package/packages/form-design/src/form-view.ts +7 -9
  140. package/packages/icon-picker/src/icon-picker.ts +4 -4
  141. package/packages/image/src/group.ts +3 -1
  142. package/packages/image/src/image.ts +3 -1
  143. package/packages/image/src/preview.ts +37 -22
  144. package/packages/image/src/util.ts +1 -0
  145. package/packages/list-design/src/layout-preview.ts +5 -7
  146. package/packages/list-design/src/list-view.ts +8 -10
  147. package/packages/loading/src/loading.ts +3 -3
  148. package/packages/menu/src/menu.ts +9 -9
  149. package/packages/modal/src/modal.ts +16 -18
  150. package/packages/pager/src/pager.ts +1 -3
  151. package/packages/password-input/src/password-input.ts +7 -7
  152. package/packages/print/src/print.ts +6 -6
  153. package/packages/pulldown/src/pulldown.ts +5 -5
  154. package/packages/switch/src/switch.ts +4 -4
  155. package/packages/table-select/src/table-select.ts +5 -7
  156. package/packages/tabs/src/tabs.ts +11 -15
  157. package/packages/tag/src/tag.ts +3 -3
  158. package/packages/tip/src/tip.ts +5 -5
  159. package/packages/tree/src/tree.ts +242 -179
  160. package/packages/ui/index.ts +2 -6
  161. package/packages/upload/src/upload.ts +31 -33
  162. package/types/components/button.d.ts +2 -1
  163. package/types/components/image-group.d.ts +3 -0
  164. package/types/components/image-preview.d.ts +32 -0
  165. package/types/components/image.d.ts +2 -0
  166. package/types/components/tree.d.ts +7 -5
  167. /package/es/icon/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  168. /package/es/icon/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  169. /package/es/icon/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
  170. /package/es/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  171. /package/es/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  172. /package/es/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
  173. /package/lib/icon/style/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  174. /package/lib/icon/style/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  175. /package/lib/icon/style/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
  176. /package/lib/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  177. /package/lib/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  178. /package/lib/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
@@ -1,9 +1,9 @@
1
- import { defineComponent, h, provide, PropType, ref, reactive, computed, watch, onMounted, onUnmounted, createCommentVNode, onBeforeUnmount } from 'vue'
2
- import { VxeUI, getConfig, createEvent, getIcon, globalEvents, GLOBAL_EVENT_KEYS, getI18n } from '../../ui'
1
+ import { defineComponent, h, provide, PropType, ref, reactive, computed, watch, onMounted, onUnmounted, onBeforeUnmount } from 'vue'
2
+ import { VxeUI, getConfig, createEvent, getIcon, globalEvents, GLOBAL_EVENT_KEYS, getI18n, renderEmptyElement } from '../../ui'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getDomNode, addClass, removeClass, hasControlKey } from '../../ui/src/dom'
5
5
 
6
- import type { VxeImagePreviewConstructor, ImagePreviewReactData, ImagePreviewPrivateRef, VxeGlobalIcon, VxeImagePreviewEmits, VxeImagePreviewPrivateMethods, ImagePreviewPrivateMethods, ImagePreviewPrivateComputed, ImagePreviewMethods, VxeImagePreviewPropTypes, ValueOf } from '../../../types'
6
+ import type { VxeImagePreviewConstructor, ImagePreviewReactData, ImagePreviewPrivateRef, VxeGlobalIcon, VxeImagePreviewEmits, VxeImagePreviewPrivateMethods, ImagePreviewPrivateMethods, ImagePreviewPrivateComputed, ImagePreviewMethods, VxeImagePreviewPropTypes, ValueOf, VxeImagePreviewDefines } from '../../../types'
7
7
 
8
8
  export default defineComponent({
9
9
  name: 'VxeImagePreview',
@@ -30,6 +30,7 @@ export default defineComponent({
30
30
  type: Boolean as PropType<VxeImagePreviewPropTypes.ShowDownloadButton>,
31
31
  default: () => getConfig().imagePreview.showDownloadButton
32
32
  },
33
+ toolbarConfig: Object as PropType<VxeImagePreviewPropTypes.ToolbarConfig>,
33
34
  beforeDownloadMethod: Function as PropType<VxeImagePreviewPropTypes.BeforeDownloadMethod>,
34
35
  downloadMethod: Function as PropType<VxeImagePreviewPropTypes.DownloadMethod>
35
36
  },
@@ -67,6 +68,10 @@ export default defineComponent({
67
68
  return XEUtils.toNumber(props.marginSize || 0) || 16
68
69
  })
69
70
 
71
+ const computeToolbarOpts = computed(() => {
72
+ return Object.assign({}, getConfig().imagePreview.toolbarConfig, props.toolbarConfig)
73
+ })
74
+
70
75
  const computeRotateText = computed(() => {
71
76
  const { offsetRotate } = reactData
72
77
  if (offsetRotate) {
@@ -314,10 +319,13 @@ export default defineComponent({
314
319
 
315
320
  const handleDownloadImg = (evnt: MouseEvent) => {
316
321
  const { activeIndex } = reactData
322
+ const toolbarOpts = computeToolbarOpts.value
323
+ const btnConf = toolbarOpts.download
324
+ const btnOpts = XEUtils.isBoolean(btnConf) ? {} : (btnConf ? Object.assign({}, btnConf) : {})
317
325
  const imgList = computeImgList.value
318
326
  const imgUrl = imgList[activeIndex || 0]
319
- const beforeDownloadFn = props.beforeDownloadMethod || getConfig().imagePreview.beforeDownloadMethod
320
- const downloadFn = props.downloadMethod || getConfig().imagePreview.downloadMethod
327
+ const beforeDownloadFn = props.beforeDownloadMethod || btnOpts.beforeDownloadMethod || getConfig().imagePreview.beforeDownloadMethod
328
+ const downloadFn = props.downloadMethod || btnOpts.downloadMethod || getConfig().imagePreview.downloadMethod
321
329
  Promise.resolve(
322
330
  beforeDownloadFn
323
331
  ? beforeDownloadFn({
@@ -345,7 +353,7 @@ export default defineComponent({
345
353
  })
346
354
  }
347
355
 
348
- const handleOperationBtn = (evnt: MouseEvent, code: string) => {
356
+ const handleOperationBtn = (evnt: MouseEvent, code: VxeImagePreviewDefines.ToolbarCode) => {
349
357
  const { activeIndex } = reactData
350
358
  const imgList = computeImgList.value
351
359
  const imgUrl = imgList[activeIndex || 0]
@@ -501,18 +509,24 @@ export default defineComponent({
501
509
  }))
502
510
  }
503
511
 
504
- const renderOperationBtn = (code: string, icon: keyof VxeGlobalIcon) => {
505
- return h('div', {
506
- class: 'vxe-image-preview--operation-btn',
507
- title: getI18n(`vxe.imagePreview.operBtn.${code}`),
508
- onClick (evnt) {
509
- handleOperationBtn(evnt, code)
510
- }
511
- }, [
512
- h('i', {
513
- class: getIcon()[icon]
514
- })
515
- ])
512
+ const renderOperationBtn = (code: VxeImagePreviewDefines.ToolbarCode, icon: keyof VxeGlobalIcon) => {
513
+ const toolbarOpts = computeToolbarOpts.value
514
+ const btnConf = toolbarOpts[code]
515
+ const btnOpts = XEUtils.isBoolean(btnConf) ? {} : (btnConf ? Object.assign({}, btnConf) : {})
516
+ const showBtn = btnConf !== false
517
+ return showBtn
518
+ ? h('div', {
519
+ class: 'vxe-image-preview--operation-btn',
520
+ title: getI18n(`vxe.imagePreview.operBtn.${code}`),
521
+ onClick (evnt) {
522
+ handleOperationBtn(evnt, code)
523
+ }
524
+ }, [
525
+ h('i', {
526
+ class: btnOpts.icon || getIcon()[icon]
527
+ })
528
+ ])
529
+ : renderEmptyElement($xeImagePreview)
516
530
  }
517
531
 
518
532
  const renderBtnWrapper = () => {
@@ -521,6 +535,7 @@ export default defineComponent({
521
535
  const imgList = computeImgList.value
522
536
  const rotateText = computeRotateText.value
523
537
  const scaleText = computeScaleText.value
538
+ const toolbarOpts = computeToolbarOpts.value
524
539
 
525
540
  return h('div', {
526
541
  class: 'vxe-image-preview--btn-wrapper'
@@ -551,7 +566,7 @@ export default defineComponent({
551
566
  class: getIcon().IMAGE_PREVIEW_PREVIOUS
552
567
  })
553
568
  ])
554
- : createCommentVNode(),
569
+ : renderEmptyElement($xeImagePreview),
555
570
  imgList.length > 1
556
571
  ? h('div', {
557
572
  class: 'vxe-image-preview--next-btn',
@@ -563,7 +578,7 @@ export default defineComponent({
563
578
  class: getIcon().IMAGE_PREVIEW_NEXT
564
579
  })
565
580
  ])
566
- : createCommentVNode(),
581
+ : renderEmptyElement($xeImagePreview),
567
582
  h('div', {
568
583
  class: 'vxe-image-preview--operation-info'
569
584
  }, [
@@ -593,8 +608,8 @@ export default defineComponent({
593
608
  renderOperationBtn('pct11', 'IMAGE_PREVIEW_PCT_1_1'),
594
609
  renderOperationBtn('rotateLeft', 'IMAGE_PREVIEW_ROTATE_LEFT'),
595
610
  renderOperationBtn('rotateRight', 'IMAGE_PREVIEW_ROTATE_RIGHT'),
596
- showPrintButton ? renderOperationBtn('print', 'IMAGE_PREVIEW_PRINT') : createCommentVNode(),
597
- showDownloadButton ? renderOperationBtn('download', 'IMAGE_PREVIEW_DOWNLOAD') : createCommentVNode()
611
+ showPrintButton || toolbarOpts.print ? renderOperationBtn('print', 'IMAGE_PREVIEW_PRINT') : renderEmptyElement($xeImagePreview),
612
+ showDownloadButton || toolbarOpts.download ? renderOperationBtn('download', 'IMAGE_PREVIEW_DOWNLOAD') : renderEmptyElement($xeImagePreview)
598
613
  ])
599
614
  ])
600
615
  }
@@ -30,6 +30,7 @@ export const openPreviewImage: VxeImageDefines.PreviewImageFunction = (options)
30
30
  urlField: opts.urlField,
31
31
  marginSize: opts.marginSize,
32
32
  maskClosable: opts.maskClosable,
33
+ toolbarConfig: opts.toolbarConfig,
33
34
  showPrintButton: opts.showPrintButton,
34
35
  showDownloadButton: opts.showDownloadButton,
35
36
  beforeDownloadMethod: opts.beforeDownloadMethod,
@@ -118,13 +118,11 @@ export default defineComponent({
118
118
  updateTableData()
119
119
  })
120
120
 
121
- if (process.env.VUE_APP_VXE_ENV === 'development') {
122
- nextTick(() => {
123
- if (!VxeTableGridComponent) {
124
- errLog('vxe.error.reqComp', ['vxe-grid'])
125
- }
126
- })
127
- }
121
+ nextTick(() => {
122
+ if (!VxeTableGridComponent) {
123
+ errLog('vxe.error.reqComp', ['vxe-grid'])
124
+ }
125
+ })
128
126
 
129
127
  return () => {
130
128
  const { searchFormData, searchFormItems } = listDesignReactData
@@ -1,5 +1,5 @@
1
- import { defineComponent, ref, PropType, h, reactive, provide, watch, nextTick, computed, createCommentVNode } from 'vue'
2
- import { VxeUI, getConfig, createEvent, getI18n, renderer, useSize } from '../../ui'
1
+ import { defineComponent, ref, PropType, h, reactive, provide, watch, nextTick, computed } from 'vue'
2
+ import { VxeUI, getConfig, createEvent, getI18n, renderer, useSize, renderEmptyElement } from '../../ui'
3
3
  import { errLog } from '../../ui/src/log'
4
4
  import { toCssUnit } from '../../ui/src/dom'
5
5
  import { getSlotVNs } from '../../ui/src/vn'
@@ -445,7 +445,7 @@ export default defineComponent({
445
445
  }), Object.assign({}, slots, {
446
446
  default: undefined
447
447
  }))
448
- : createCommentVNode())
448
+ : renderEmptyElement($xeListView))
449
449
  ]),
450
450
  /**
451
451
  * 加载中
@@ -467,13 +467,11 @@ export default defineComponent({
467
467
 
468
468
  provide('$xeListView', $xeListView)
469
469
 
470
- if (process.env.VUE_APP_VXE_ENV === 'development') {
471
- nextTick(() => {
472
- if (!VxeTableGridComponent) {
473
- errLog('vxe.error.reqComp', ['vxe-grid'])
474
- }
475
- })
476
- }
470
+ nextTick(() => {
471
+ if (!VxeTableGridComponent) {
472
+ errLog('vxe.error.reqComp', ['vxe-grid'])
473
+ }
474
+ })
477
475
 
478
476
  $xeListView.renderVN = renderVN
479
477
 
@@ -1,5 +1,5 @@
1
- import { reactive, defineComponent, h, computed, PropType, watch, createCommentVNode } from 'vue'
2
- import { getConfig, getIcon, getI18n, createEvent, useSize } from '../../ui'
1
+ import { reactive, defineComponent, h, computed, PropType, watch } from 'vue'
2
+ import { getConfig, getIcon, getI18n, createEvent, useSize, renderEmptyElement } from '../../ui'
3
3
  import { getSlotVNs } from '../../ui/src/vn'
4
4
  import XEUtils from 'xe-utils'
5
5
 
@@ -94,7 +94,7 @@ export default defineComponent({
94
94
  const loadingText = computeLoadingText.value
95
95
 
96
96
  if (!initialized && !modelValue) {
97
- return createCommentVNode()
97
+ return renderEmptyElement($xeLoading)
98
98
  }
99
99
 
100
100
  return h('div', {
@@ -1,6 +1,6 @@
1
- import { defineComponent, ref, h, reactive, PropType, inject, resolveComponent, createCommentVNode, watch, VNode, computed, nextTick, onBeforeUnmount, onMounted } from 'vue'
1
+ import { defineComponent, ref, h, reactive, PropType, inject, resolveComponent, watch, VNode, computed, nextTick, onBeforeUnmount, onMounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { getConfig, getIcon, createEvent, permission, useSize, globalEvents } from '../../ui'
3
+ import { getConfig, getIcon, createEvent, permission, useSize, globalEvents, renderEmptyElement } from '../../ui'
4
4
  import { toCssUnit } from '../../ui/src/dom'
5
5
  import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
6
6
  import { getSlotVNs } from '../../ui/src/vn'
@@ -302,7 +302,7 @@ export default defineComponent({
302
302
  class: isExpand ? getIcon().MENU_ITEM_EXPAND_OPEN : getIcon().MENU_ITEM_EXPAND_CLOSE
303
303
  })
304
304
  ])
305
- : createCommentVNode()
305
+ : renderEmptyElement($xeMenu)
306
306
  ]
307
307
  }
308
308
 
@@ -312,7 +312,7 @@ export default defineComponent({
312
312
  const isCollapsed = computeIsCollapsed.value
313
313
  if (item.permissionCode) {
314
314
  if (!permission.checkVisible(item.permissionCode)) {
315
- return createCommentVNode()
315
+ return renderEmptyElement($xeMenu)
316
316
  }
317
317
  }
318
318
  return h('div', {
@@ -343,7 +343,7 @@ export default defineComponent({
343
343
  ? h('div', {
344
344
  class: 'vxe-menu--item-group'
345
345
  }, childList.map(child => renderDefaultChildren(child)))
346
- : createCommentVNode()
346
+ : renderEmptyElement($xeMenu)
347
347
  ])
348
348
  }
349
349
 
@@ -351,7 +351,7 @@ export default defineComponent({
351
351
  const { itemKey, level, hasChild, isActive, isExactActive, routerLink, childList } = item
352
352
  if (item.permissionCode) {
353
353
  if (!permission.checkVisible(item.permissionCode)) {
354
- return createCommentVNode()
354
+ return renderEmptyElement($xeMenu)
355
355
  }
356
356
  }
357
357
  return h('div', {
@@ -381,7 +381,7 @@ export default defineComponent({
381
381
  ? h('div', {
382
382
  class: 'vxe-menu--item-group'
383
383
  }, childList.map(child => renderDefaultChildren(child)))
384
- : createCommentVNode()
384
+ : renderEmptyElement($xeMenu)
385
385
  ])
386
386
  }
387
387
 
@@ -418,9 +418,9 @@ export default defineComponent({
418
418
  ? h('div', {
419
419
  class: 'vxe-menu--item-list'
420
420
  }, menuList.map(child => renderDefaultChildren(child)))
421
- : createCommentVNode()
421
+ : renderEmptyElement($xeMenu)
422
422
  ])
423
- : createCommentVNode(),
423
+ : renderEmptyElement($xeMenu),
424
424
  /**
425
425
  * 加载中
426
426
  */
@@ -1,8 +1,8 @@
1
- import { defineComponent, h, Teleport, ref, Ref, inject, computed, reactive, provide, nextTick, watch, PropType, VNode, onMounted, onUnmounted, createCommentVNode } from 'vue'
1
+ import { defineComponent, h, Teleport, ref, Ref, inject, computed, reactive, provide, nextTick, watch, PropType, VNode, onMounted, onUnmounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { getDomNode, getEventTargetNode, toCssUnit } from '../../ui/src/dom'
4
4
  import { getLastZIndex, nextZIndex, getFuncText, handleBooleanDefaultValue } from '../../ui/src/utils'
5
- import { VxeUI, getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize } from '../../ui'
5
+ import { VxeUI, getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize, renderEmptyElement } from '../../ui'
6
6
  import VxeButtonComponent from '../../button/src/button'
7
7
  import VxeLoadingComponent from '../../loading/index'
8
8
  import { getSlotVNs } from '../../ui/src/vn'
@@ -1167,7 +1167,7 @@ export default defineComponent({
1167
1167
  ? h('div', {
1168
1168
  class: 'vxe-modal--corner-wrapper'
1169
1169
  }, getSlotVNs(cornerSlot({ $modal: $xeModal })))
1170
- : createCommentVNode(),
1170
+ : renderEmptyElement($xeModal),
1171
1171
  (XEUtils.isBoolean(showMinimize) ? showMinimize : showZoom)
1172
1172
  ? h('div', {
1173
1173
  class: ['vxe-modal--zoom-btn', 'trigger--btn'],
@@ -1178,7 +1178,7 @@ export default defineComponent({
1178
1178
  class: zoomStatus === 'minimize' ? getIcon().MODAL_ZOOM_REVERT : getIcon().MODAL_ZOOM_MIN
1179
1179
  })
1180
1180
  ])
1181
- : createCommentVNode(),
1181
+ : renderEmptyElement($xeModal),
1182
1182
  (XEUtils.isBoolean(showMaximize) ? showMaximize : showZoom) && zoomStatus !== 'minimize'
1183
1183
  ? h('div', {
1184
1184
  class: ['vxe-modal--zoom-btn', 'trigger--btn'],
@@ -1189,7 +1189,7 @@ export default defineComponent({
1189
1189
  class: zoomStatus === 'maximize' ? getIcon().MODAL_ZOOM_OUT : getIcon().MODAL_ZOOM_IN
1190
1190
  })
1191
1191
  ])
1192
- : createCommentVNode(),
1192
+ : renderEmptyElement($xeModal),
1193
1193
  showClose
1194
1194
  ? h('div', {
1195
1195
  class: ['vxe-modal--close-btn', 'trigger--btn'],
@@ -1200,7 +1200,7 @@ export default defineComponent({
1200
1200
  class: getIcon().MODAL_CLOSE
1201
1201
  })
1202
1202
  ])
1203
- : createCommentVNode()
1203
+ : renderEmptyElement($xeModal)
1204
1204
  ])
1205
1205
  ]
1206
1206
  }
@@ -1224,7 +1224,7 @@ export default defineComponent({
1224
1224
  ...headerOns
1225
1225
  }, headerSlot ? getSlotVNs(headerSlot({ $modal: $xeModal })) : renderTitles())
1226
1226
  }
1227
- return createCommentVNode()
1227
+ return renderEmptyElement($xeModal)
1228
1228
  }
1229
1229
 
1230
1230
  const renderBody = () => {
@@ -1258,7 +1258,7 @@ export default defineComponent({
1258
1258
  ? h('div', {
1259
1259
  class: 'vxe-modal--body-left'
1260
1260
  }, getSlotVNs(leftSlot({ $modal: $xeModal })))
1261
- : createCommentVNode(),
1261
+ : renderEmptyElement($xeModal),
1262
1262
  h('div', {
1263
1263
  class: 'vxe-modal--body-default'
1264
1264
  }, contVNs),
@@ -1266,9 +1266,9 @@ export default defineComponent({
1266
1266
  ? h('div', {
1267
1267
  class: 'vxe-modal--body-right'
1268
1268
  }, getSlotVNs(rightSlot({ $modal: $xeModal })))
1269
- : createCommentVNode(),
1269
+ : renderEmptyElement($xeModal),
1270
1270
  isMsg
1271
- ? createCommentVNode()
1271
+ ? renderEmptyElement($xeModal)
1272
1272
  : h(VxeLoadingComponent, {
1273
1273
  class: 'vxe-modal--loading',
1274
1274
  modelValue: props.loading
@@ -1323,7 +1323,7 @@ export default defineComponent({
1323
1323
  class: 'vxe-modal--footer'
1324
1324
  }, footerSlot ? getSlotVNs(footerSlot({ $modal: $xeModal })) : [renderDefaultFooter()])
1325
1325
  }
1326
- return createCommentVNode()
1326
+ return renderEmptyElement($xeModal)
1327
1327
  }
1328
1328
 
1329
1329
  const renderVN = () => {
@@ -1386,10 +1386,10 @@ export default defineComponent({
1386
1386
  class: ['vxe-modal--status-icon', iconStatus || getIcon()[`MODAL_${status}`.toLocaleUpperCase() as 'MODAL_SUCCESS' | 'MODAL_ERROR']]
1387
1387
  })
1388
1388
  ])
1389
- : createCommentVNode()
1389
+ : renderEmptyElement($xeModal)
1390
1390
  ]
1391
1391
  )
1392
- : createCommentVNode(),
1392
+ : renderEmptyElement($xeModal),
1393
1393
  h('div', {
1394
1394
  class: 'vxe-modal--container'
1395
1395
  }, !reactData.initialized || (destroyOnClose && !reactData.visible)
@@ -1408,7 +1408,7 @@ export default defineComponent({
1408
1408
  onMousedown: dragEvent
1409
1409
  })
1410
1410
  }))
1411
- : createCommentVNode()
1411
+ : renderEmptyElement($xeModal)
1412
1412
  ])
1413
1413
  ])
1414
1414
  ])
@@ -1429,10 +1429,8 @@ export default defineComponent({
1429
1429
  })
1430
1430
 
1431
1431
  onMounted(() => {
1432
- if (process.env.VUE_APP_VXE_ENV === 'development') {
1433
- if (props.type === 'modal' && props.showFooter && !(props.showConfirmButton || props.showCancelButton || slots.footer)) {
1434
- warnLog('vxe.modal.footPropErr')
1435
- }
1432
+ if (props.type === 'modal' && props.showFooter && !(props.showConfirmButton || props.showCancelButton || slots.footer)) {
1433
+ warnLog('vxe.modal.footPropErr')
1436
1434
  }
1437
1435
  nextTick(() => {
1438
1436
  if (props.storage && !props.id) {
@@ -693,9 +693,7 @@ export default defineComponent({
693
693
  if (renderFn) {
694
694
  childNodes.push(renderFn())
695
695
  } else {
696
- if (process.env.VUE_APP_VXE_ENV === 'development') {
697
- errLog('vxe.error.notProp', [`layouts -> ${name}`])
698
- }
696
+ errLog('vxe.error.notProp', [`layouts -> ${name}`])
699
697
  }
700
698
  })
701
699
  if (slots.right) {
@@ -1,6 +1,6 @@
1
- import { defineComponent, h, ref, Ref, computed, reactive, inject, nextTick, watch, createCommentVNode, PropType } from 'vue'
1
+ import { defineComponent, h, ref, Ref, computed, reactive, inject, nextTick, watch, PropType } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { getConfig, getIcon, getI18n, createEvent, useSize } from '../../ui'
3
+ import { getConfig, getIcon, getI18n, createEvent, useSize, renderEmptyElement } from '../../ui'
4
4
  import { getFuncText } from '../../ui/src/utils'
5
5
  import { getSlotVNs } from '../../ui/src/vn'
6
6
 
@@ -267,8 +267,8 @@ export default defineComponent({
267
267
  class: getIcon().INPUT_CLEAR
268
268
  })
269
269
  ])
270
- : createCommentVNode(),
271
- controls ? renderPasswordIcon() : createCommentVNode(),
270
+ : renderEmptyElement($xePasswordInput),
271
+ controls ? renderPasswordIcon() : renderEmptyElement($xePasswordInput),
272
272
  suffixSlot || suffixIcon
273
273
  ? h('div', {
274
274
  class: 'vxe-password-input--suffix-icon',
@@ -280,7 +280,7 @@ export default defineComponent({
280
280
  class: suffixIcon
281
281
  })
282
282
  ])
283
- : createCommentVNode()
283
+ : renderEmptyElement($xePasswordInput)
284
284
  ])
285
285
  : null
286
286
  }
@@ -339,7 +339,7 @@ export default defineComponent({
339
339
  }],
340
340
  spellcheck: false
341
341
  }, [
342
- prefix || createCommentVNode(),
342
+ prefix || renderEmptyElement($xePasswordInput),
343
343
  h('div', {
344
344
  class: 'vxe-password-input--wrapper'
345
345
  }, [
@@ -361,7 +361,7 @@ export default defineComponent({
361
361
  onBlur: blurEvent
362
362
  })
363
363
  ]),
364
- suffix || createCommentVNode()
364
+ suffix || renderEmptyElement($xePasswordInput)
365
365
  ])
366
366
  }
367
367
 
@@ -1,6 +1,6 @@
1
- import { defineComponent, ref, h, reactive, PropType, provide, createCommentVNode } from 'vue'
1
+ import { defineComponent, ref, h, reactive, PropType, provide } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { getConfig, createEvent } from '../../ui'
3
+ import { getConfig, createEvent, renderEmptyElement } from '../../ui'
4
4
  import { printHtml, trimHtml } from './util'
5
5
  import { getSlotVNs } from '../../ui/src/vn'
6
6
 
@@ -125,7 +125,7 @@ export default defineComponent({
125
125
  ? h('div', {
126
126
  class: 'vxe-print-page-break--header-title'
127
127
  }, `${title || ''}`)
128
- : createCommentVNode()
128
+ : renderEmptyElement($xePrint)
129
129
  ]),
130
130
  h('div', {
131
131
  class: 'vxe-print-page-break--body'
@@ -149,7 +149,7 @@ export default defineComponent({
149
149
  ? h('div', {
150
150
  class: 'vxe-print-page-break--footer-page-number'
151
151
  }, `${currentPage}/${pageCount}`)
152
- : createCommentVNode()
152
+ : renderEmptyElement($xePrint)
153
153
  ])
154
154
  ])
155
155
  })
@@ -185,7 +185,7 @@ export default defineComponent({
185
185
  ? h('div', {
186
186
  class: 'vxe-print-page-break--header-title'
187
187
  }, `${title || ''}`)
188
- : createCommentVNode()
188
+ : renderEmptyElement($xePrint)
189
189
  ]),
190
190
  h('div', {
191
191
  class: 'vxe-print-page-break--body'
@@ -209,7 +209,7 @@ export default defineComponent({
209
209
  ? h('div', {
210
210
  class: 'vxe-print-page-break--footer-page-number'
211
211
  }, `${currentPage}/${pageCount}`)
212
- : createCommentVNode()
212
+ : renderEmptyElement($xePrint)
213
213
  ])
214
214
  ])
215
215
  })
@@ -1,10 +1,10 @@
1
- import { defineComponent, h, Teleport, ref, Ref, onUnmounted, reactive, inject, computed, nextTick, PropType, watch, createCommentVNode } from 'vue'
1
+ import { defineComponent, h, Teleport, ref, Ref, onUnmounted, reactive, inject, computed, nextTick, PropType, watch } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { getConfig, globalEvents, createEvent, useSize, ValueOf } from '../../ui'
3
+ import { getConfig, globalEvents, createEvent, useSize, renderEmptyElement } from '../../ui'
4
4
  import { getEventTargetNode, updatePanelPlacement } from '../../ui/src/dom'
5
5
  import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
6
6
 
7
- import type { VxePulldownConstructor, VxePulldownPropTypes, PulldownInternalData, VxePulldownEmits, PulldownReactData, PulldownMethods, PulldownPrivateRef, VxePulldownMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods } from '../../../types'
7
+ import type { VxePulldownConstructor, VxePulldownPropTypes, PulldownInternalData, VxePulldownEmits, PulldownReactData, ValueOf, PulldownMethods, PulldownPrivateRef, VxePulldownMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods } from '../../../types'
8
8
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
9
9
 
10
10
  export default defineComponent({
@@ -365,7 +365,7 @@ export default defineComponent({
365
365
  ? h('div', {
366
366
  class: 'vxe-pulldown--panel-header'
367
367
  }, headerSlot({ $pulldown: $xePulldown }))
368
- : createCommentVNode(),
368
+ : renderEmptyElement($xePulldown),
369
369
  h('div', {
370
370
  class: 'vxe-pulldown--panel-body'
371
371
  }, dropdownSlot
@@ -377,7 +377,7 @@ export default defineComponent({
377
377
  ? h('div', {
378
378
  class: 'vxe-pulldown--panel-footer'
379
379
  }, footerSlot({ $pulldown: $xePulldown }))
380
- : createCommentVNode()
380
+ : renderEmptyElement($xePulldown)
381
381
  ]
382
382
  : [])
383
383
  ])
@@ -1,6 +1,6 @@
1
- import { defineComponent, h, ref, Ref, computed, reactive, nextTick, createCommentVNode, PropType, inject } from 'vue'
1
+ import { defineComponent, h, ref, Ref, computed, reactive, nextTick, PropType, inject } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { getConfig, createEvent, useSize } from '../../ui'
3
+ import { getConfig, createEvent, useSize, renderEmptyElement } from '../../ui'
4
4
  import { getFuncText } from '../../ui/src/utils'
5
5
 
6
6
  import type { VxeSwitchPropTypes, VxeSwitchConstructor, VxeSwitchEmits, SwitchInternalData, ValueOf, SwitchReactData, SwitchMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines } from '../../../types'
@@ -200,7 +200,7 @@ export default defineComponent({
200
200
  ? h('i', {
201
201
  class: ['vxe-switch--label-icon', openIcon]
202
202
  })
203
- : createCommentVNode(),
203
+ : renderEmptyElement($xeSwitch),
204
204
  onShowLabel
205
205
  ]),
206
206
  h('span', {
@@ -210,7 +210,7 @@ export default defineComponent({
210
210
  ? h('i', {
211
211
  class: ['vxe-switch--label-icon', closeIcon]
212
212
  })
213
- : createCommentVNode(),
213
+ : renderEmptyElement($xeSwitch),
214
214
  offShowLabel
215
215
  ]),
216
216
  h('span', {
@@ -668,13 +668,11 @@ export default defineComponent({
668
668
  globalEvents.off($xeTableSelect, 'blur')
669
669
  })
670
670
 
671
- if (process.env.VUE_APP_VXE_ENV === 'development') {
672
- nextTick(() => {
673
- if (!VxeTableGridComponent) {
674
- errLog('vxe.error.reqComp', ['vxe-grid'])
675
- }
676
- })
677
- }
671
+ nextTick(() => {
672
+ if (!VxeTableGridComponent) {
673
+ errLog('vxe.error.reqComp', ['vxe-grid'])
674
+ }
675
+ })
678
676
 
679
677
  provide('$xeTableSelect', $xeTableSelect)
680
678