vxe-table 4.13.52 → 4.14.0-beta.1

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 (169) hide show
  1. package/es/grid/src/grid.js +102 -78
  2. package/es/locale/lang/ar-EG.js +1 -3
  3. package/es/locale/lang/de-DE.js +1 -3
  4. package/es/locale/lang/en-US.js +1 -3
  5. package/es/locale/lang/es-ES.js +1 -3
  6. package/es/locale/lang/fr-FR.js +1 -3
  7. package/es/locale/lang/hu-HU.js +1 -3
  8. package/es/locale/lang/hy-AM.js +1 -3
  9. package/es/locale/lang/id-ID.js +1 -3
  10. package/es/locale/lang/it-IT.js +1 -3
  11. package/es/locale/lang/ja-JP.js +1 -3
  12. package/es/locale/lang/ko-KR.js +1 -3
  13. package/es/locale/lang/ms-MY.js +1 -3
  14. package/es/locale/lang/nb-NO.js +1 -3
  15. package/es/locale/lang/pt-BR.js +1 -3
  16. package/es/locale/lang/ru-RU.js +1 -3
  17. package/es/locale/lang/th-TH.js +1 -3
  18. package/es/locale/lang/ug-CN.js +1 -3
  19. package/es/locale/lang/uk-UA.js +1 -3
  20. package/es/locale/lang/uz-UZ.js +1 -3
  21. package/es/locale/lang/vi-VN.js +1 -3
  22. package/es/locale/lang/zh-CHT.js +1 -3
  23. package/es/locale/lang/zh-CN.js +1 -3
  24. package/es/style.css +1 -1
  25. package/es/table/module/edit/hook.js +1 -31
  26. package/es/table/module/filter/hook.js +1 -1
  27. package/es/table/module/keyboard/hook.js +2 -2
  28. package/es/table/src/columnInfo.js +0 -5
  29. package/es/table/src/table.js +13 -50
  30. package/es/ui/index.js +2 -2
  31. package/es/ui/src/log.js +1 -1
  32. package/lib/grid/src/grid.js +115 -82
  33. package/lib/grid/src/grid.min.js +1 -1
  34. package/lib/index.common.js +2 -1
  35. package/lib/index.umd.js +1918 -2024
  36. package/lib/index.umd.min.js +1 -1
  37. package/lib/locale/lang/ar-EG.js +1 -3
  38. package/lib/locale/lang/ar-EG.min.js +1 -1
  39. package/lib/locale/lang/ar-EG.umd.js +1 -3
  40. package/lib/locale/lang/de-DE.js +1 -3
  41. package/lib/locale/lang/de-DE.min.js +1 -1
  42. package/lib/locale/lang/de-DE.umd.js +1 -3
  43. package/lib/locale/lang/en-US.js +1 -3
  44. package/lib/locale/lang/en-US.min.js +1 -1
  45. package/lib/locale/lang/en-US.umd.js +1 -3
  46. package/lib/locale/lang/es-ES.js +1 -3
  47. package/lib/locale/lang/es-ES.min.js +1 -1
  48. package/lib/locale/lang/es-ES.umd.js +1 -3
  49. package/lib/locale/lang/fr-FR.js +1 -3
  50. package/lib/locale/lang/fr-FR.min.js +1 -1
  51. package/lib/locale/lang/fr-FR.umd.js +1 -3
  52. package/lib/locale/lang/hu-HU.js +1 -3
  53. package/lib/locale/lang/hu-HU.min.js +1 -1
  54. package/lib/locale/lang/hu-HU.umd.js +1 -3
  55. package/lib/locale/lang/hy-AM.js +1 -3
  56. package/lib/locale/lang/hy-AM.min.js +1 -1
  57. package/lib/locale/lang/hy-AM.umd.js +1 -3
  58. package/lib/locale/lang/id-ID.js +1 -3
  59. package/lib/locale/lang/id-ID.min.js +1 -1
  60. package/lib/locale/lang/id-ID.umd.js +1 -3
  61. package/lib/locale/lang/it-IT.js +1 -3
  62. package/lib/locale/lang/it-IT.min.js +1 -1
  63. package/lib/locale/lang/it-IT.umd.js +1 -3
  64. package/lib/locale/lang/ja-JP.js +1 -3
  65. package/lib/locale/lang/ja-JP.min.js +1 -1
  66. package/lib/locale/lang/ja-JP.umd.js +1 -3
  67. package/lib/locale/lang/ko-KR.js +1 -3
  68. package/lib/locale/lang/ko-KR.min.js +1 -1
  69. package/lib/locale/lang/ko-KR.umd.js +1 -3
  70. package/lib/locale/lang/ms-MY.js +1 -3
  71. package/lib/locale/lang/ms-MY.min.js +1 -1
  72. package/lib/locale/lang/ms-MY.umd.js +1 -3
  73. package/lib/locale/lang/nb-NO.js +1 -3
  74. package/lib/locale/lang/nb-NO.min.js +1 -1
  75. package/lib/locale/lang/nb-NO.umd.js +1 -3
  76. package/lib/locale/lang/pt-BR.js +1 -3
  77. package/lib/locale/lang/pt-BR.min.js +1 -1
  78. package/lib/locale/lang/pt-BR.umd.js +1 -3
  79. package/lib/locale/lang/ru-RU.js +1 -3
  80. package/lib/locale/lang/ru-RU.min.js +1 -1
  81. package/lib/locale/lang/ru-RU.umd.js +1 -3
  82. package/lib/locale/lang/th-TH.js +1 -3
  83. package/lib/locale/lang/th-TH.min.js +1 -1
  84. package/lib/locale/lang/th-TH.umd.js +1 -3
  85. package/lib/locale/lang/ug-CN.js +1 -3
  86. package/lib/locale/lang/ug-CN.min.js +1 -1
  87. package/lib/locale/lang/ug-CN.umd.js +1 -3
  88. package/lib/locale/lang/uk-UA.js +1 -3
  89. package/lib/locale/lang/uk-UA.min.js +1 -1
  90. package/lib/locale/lang/uk-UA.umd.js +1 -3
  91. package/lib/locale/lang/uz-UZ.js +1 -3
  92. package/lib/locale/lang/uz-UZ.min.js +1 -1
  93. package/lib/locale/lang/uz-UZ.umd.js +1 -3
  94. package/lib/locale/lang/vi-VN.js +1 -3
  95. package/lib/locale/lang/vi-VN.min.js +1 -1
  96. package/lib/locale/lang/vi-VN.umd.js +1 -3
  97. package/lib/locale/lang/zh-CHT.js +1 -3
  98. package/lib/locale/lang/zh-CHT.min.js +1 -1
  99. package/lib/locale/lang/zh-CHT.umd.js +1 -3
  100. package/lib/locale/lang/zh-CN.js +1 -3
  101. package/lib/locale/lang/zh-CN.min.js +1 -1
  102. package/lib/locale/lang/zh-CN.umd.js +1 -3
  103. package/lib/style.css +1 -1
  104. package/lib/table/module/edit/hook.js +1 -30
  105. package/lib/table/module/edit/hook.min.js +1 -1
  106. package/lib/table/module/filter/hook.js +1 -1
  107. package/lib/table/module/filter/hook.min.js +1 -1
  108. package/lib/table/module/keyboard/hook.js +2 -2
  109. package/lib/table/module/keyboard/hook.min.js +1 -1
  110. package/lib/table/src/columnInfo.js +0 -5
  111. package/lib/table/src/columnInfo.min.js +1 -1
  112. package/lib/table/src/table.js +7 -12
  113. package/lib/table/src/table.min.js +1 -1
  114. package/lib/ui/index.js +2 -2
  115. package/lib/ui/index.min.js +1 -1
  116. package/lib/ui/src/log.js +1 -1
  117. package/lib/ui/src/log.min.js +1 -1
  118. package/lib/v-x-e-table/index.js +2 -1
  119. package/lib/v-x-e-table/index.min.js +1 -1
  120. package/lib/vxe-colgroup/index.js +2 -1
  121. package/lib/vxe-colgroup/index.min.js +1 -1
  122. package/lib/vxe-column/index.js +2 -1
  123. package/lib/vxe-column/index.min.js +1 -1
  124. package/lib/vxe-grid/index.js +2 -1
  125. package/lib/vxe-grid/index.min.js +1 -1
  126. package/lib/vxe-table/index.js +2 -1
  127. package/lib/vxe-table/index.min.js +1 -1
  128. package/lib/vxe-toolbar/index.js +2 -1
  129. package/lib/vxe-toolbar/index.min.js +1 -1
  130. package/lib/vxe-ui/index.js +2 -1
  131. package/lib/vxe-ui/index.min.js +1 -1
  132. package/lib/vxe-v-x-e-table/index.js +2 -1
  133. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  134. package/package.json +1 -1
  135. package/packages/grid/src/grid.ts +109 -84
  136. package/packages/locale/lang/ar-EG.ts +1 -3
  137. package/packages/locale/lang/de-DE.ts +1 -3
  138. package/packages/locale/lang/en-US.ts +1 -3
  139. package/packages/locale/lang/es-ES.ts +1 -3
  140. package/packages/locale/lang/fr-FR.ts +1 -3
  141. package/packages/locale/lang/hu-HU.ts +1 -3
  142. package/packages/locale/lang/hy-AM.ts +1 -3
  143. package/packages/locale/lang/id-ID.ts +1 -3
  144. package/packages/locale/lang/it-IT.ts +1 -3
  145. package/packages/locale/lang/ja-JP.ts +1 -3
  146. package/packages/locale/lang/ko-KR.ts +1 -3
  147. package/packages/locale/lang/ms-MY.ts +1 -3
  148. package/packages/locale/lang/nb-NO.ts +1 -3
  149. package/packages/locale/lang/pt-BR.ts +1 -3
  150. package/packages/locale/lang/ru-RU.ts +1 -3
  151. package/packages/locale/lang/th-TH.ts +1 -3
  152. package/packages/locale/lang/ug-CN.ts +1 -3
  153. package/packages/locale/lang/uk-UA.ts +1 -3
  154. package/packages/locale/lang/uz-UZ.ts +1 -3
  155. package/packages/locale/lang/vi-VN.ts +1 -3
  156. package/packages/locale/lang/zh-CHT.ts +1 -3
  157. package/packages/locale/lang/zh-CN.ts +1 -3
  158. package/packages/table/module/edit/hook.ts +1 -29
  159. package/packages/table/module/filter/hook.ts +1 -1
  160. package/packages/table/module/keyboard/hook.ts +2 -2
  161. package/packages/table/src/columnInfo.ts +0 -5
  162. package/packages/table/src/table.ts +13 -47
  163. package/packages/ui/index.ts +1 -1
  164. /package/es/{iconfont.1751505288329.ttf → iconfont.1750910518778.ttf} +0 -0
  165. /package/es/{iconfont.1751505288329.woff → iconfont.1750910518778.woff} +0 -0
  166. /package/es/{iconfont.1751505288329.woff2 → iconfont.1750910518778.woff2} +0 -0
  167. /package/lib/{iconfont.1751505288329.ttf → iconfont.1750910518778.ttf} +0 -0
  168. /package/lib/{iconfont.1751505288329.woff → iconfont.1750910518778.woff} +0 -0
  169. /package/lib/{iconfont.1751505288329.woff2 → iconfont.1750910518778.woff2} +0 -0
@@ -9,7 +9,7 @@ import VxeToolbarComponent from '../../toolbar/src/toolbar'
9
9
  import tableComponentProps from '../../table/src/props'
10
10
  import tableComponentEmits from '../../table/src/emits'
11
11
  import { getSlotVNs } from '../../ui/src/vn'
12
- import { errLog } from '../../ui/src/log'
12
+ import { warnLog, errLog } from '../../ui/src/log'
13
13
 
14
14
  import type { ValueOf, VxePagerComponent, VxeFormComponent, VxeFormEvents, VxeFormInstance, VxePagerEvents, VxeFormItemProps, VxePagerInstance, VxeComponentStyleType } from 'vxe-pc-ui'
15
15
  import type { VxeTableMethods, VxeGridConstructor, VxeGridEmits, GridReactData, VxeGridPropTypes, VxeToolbarPropTypes, GridMethods, GridPrivateMethods, VxeGridPrivateComputed, VxeGridPrivateMethods, VxeToolbarInstance, GridPrivateRef, VxeTableProps, VxeTableConstructor, VxeTablePrivateMethods, VxeTableEvents, VxeTableDefines, VxeTableEventProps, VxeGridProps } from '../../../types'
@@ -119,29 +119,29 @@ export default defineVxeComponent({
119
119
  })
120
120
 
121
121
  const computeProxyOpts = computed(() => {
122
- return XEUtils.merge({}, XEUtils.clone(getConfig().grid.proxyConfig, true), props.proxyConfig) as VxeGridPropTypes.ProxyConfig
122
+ return XEUtils.merge({}, XEUtils.clone(getConfig().grid.proxyConfig, true), props.proxyConfig)
123
123
  })
124
124
 
125
125
  const computeIsRespMsg = computed(() => {
126
126
  const proxyOpts = computeProxyOpts.value
127
- return XEUtils.isBoolean(proxyOpts.message) ? proxyOpts.message : proxyOpts.showResponseMsg
127
+ return !!(XEUtils.isBoolean(proxyOpts.message) ? proxyOpts.message : proxyOpts.showResponseMsg)
128
128
  })
129
129
 
130
130
  const computeIsActiveMsg = computed(() => {
131
131
  const proxyOpts = computeProxyOpts.value
132
- return proxyOpts.showActiveMsg
132
+ return !!proxyOpts.showActiveMsg
133
133
  })
134
134
 
135
135
  const computePagerOpts = computed(() => {
136
- return Object.assign({}, getConfig().grid.pagerConfig, props.pagerConfig) as VxeGridPropTypes.PagerConfig
136
+ return Object.assign({}, getConfig().grid.pagerConfig, props.pagerConfig)
137
137
  })
138
138
 
139
139
  const computeFormOpts = computed(() => {
140
- return Object.assign({}, getConfig().grid.formConfig, props.formConfig) as VxeGridPropTypes.FormOpts
140
+ return Object.assign({}, getConfig().grid.formConfig, props.formConfig)
141
141
  })
142
142
 
143
143
  const computeToolbarOpts = computed(() => {
144
- return Object.assign({}, getConfig().grid.toolbarConfig, props.toolbarConfig) as VxeGridPropTypes.ToolbarOpts
144
+ return Object.assign({}, getConfig().grid.toolbarConfig, props.toolbarConfig)
145
145
  })
146
146
 
147
147
  const computeZoomOpts = computed(() => {
@@ -390,12 +390,12 @@ export default defineVxeComponent({
390
390
  reactData.sortData = params.sortList
391
391
  if (proxyConfig && isEnableConf(proxyOpts)) {
392
392
  reactData.tablePage.currentPage = 1
393
- gridMethods.commitProxy('query').then((rest) => {
394
- gridMethods.dispatchEvent('proxy-query', rest, params.$event)
393
+ $xeGrid.commitProxy('query').then((rest) => {
394
+ $xeGrid.dispatchEvent('proxy-query', rest, params.$event)
395
395
  })
396
396
  }
397
397
  }
398
- gridMethods.dispatchEvent('sort-change', params, params.$event)
398
+ $xeGrid.dispatchEvent('sort-change', params, params.$event)
399
399
  }
400
400
 
401
401
  const filterChangeEvent: VxeTableEvents.FilterChange = (params) => {
@@ -409,12 +409,12 @@ export default defineVxeComponent({
409
409
  reactData.filterData = params.filterList
410
410
  if (proxyConfig && isEnableConf(proxyOpts)) {
411
411
  reactData.tablePage.currentPage = 1
412
- gridMethods.commitProxy('query').then((rest) => {
413
- gridMethods.dispatchEvent('proxy-query', rest, params.$event)
412
+ $xeGrid.commitProxy('query').then((rest) => {
413
+ $xeGrid.dispatchEvent('proxy-query', rest, params.$event)
414
414
  })
415
415
  }
416
416
  }
417
- gridMethods.dispatchEvent('filter-change', params, params.$event)
417
+ $xeGrid.dispatchEvent('filter-change', params, params.$event)
418
418
  }
419
419
 
420
420
  const submitFormEvent: VxeFormEvents.Submit = (params) => {
@@ -424,35 +424,35 @@ export default defineVxeComponent({
424
424
  return
425
425
  }
426
426
  if (proxyConfig && isEnableConf(proxyOpts)) {
427
- gridMethods.commitProxy('reload').then((rest) => {
428
- gridMethods.dispatchEvent('proxy-query', { ...rest, isReload: true }, params.$event)
427
+ $xeGrid.commitProxy('reload').then((rest) => {
428
+ $xeGrid.dispatchEvent('proxy-query', { ...rest, isReload: true }, params.$event)
429
429
  })
430
430
  }
431
- gridMethods.dispatchEvent('form-submit', params, params.$event)
431
+ $xeGrid.dispatchEvent('form-submit', params, params.$event)
432
432
  }
433
433
 
434
434
  const resetFormEvent: VxeFormEvents.Reset = (params) => {
435
+ const $xeTable = refTable.value
435
436
  const { proxyConfig } = props
436
437
  const { $event } = params
437
438
  const proxyOpts = computeProxyOpts.value
438
- const $xeTable = refTable.value
439
439
  if (proxyConfig && isEnableConf(proxyOpts)) {
440
440
  $xeTable.clearScroll()
441
- gridMethods.commitProxy('reload').then((rest) => {
442
- gridMethods.dispatchEvent('proxy-query', { ...rest, isReload: true }, $event)
441
+ $xeGrid.commitProxy('reload').then((rest) => {
442
+ $xeGrid.dispatchEvent('proxy-query', { ...rest, isReload: true }, $event)
443
443
  })
444
444
  }
445
- gridMethods.dispatchEvent('form-reset', params, $event)
445
+ $xeGrid.dispatchEvent('form-reset', params, $event)
446
446
  }
447
447
 
448
448
  const submitInvalidEvent: VxeFormEvents.SubmitInvalid = (params) => {
449
- gridMethods.dispatchEvent('form-submit-invalid', params, params.$event)
449
+ $xeGrid.dispatchEvent('form-submit-invalid', params, params.$event)
450
450
  }
451
451
 
452
452
  const collapseEvent: VxeFormEvents.Collapse = (params) => {
453
453
  const { $event } = params
454
- gridMethods.dispatchEvent('form-toggle-collapse', params, $event)
455
- gridMethods.dispatchEvent('form-collapse', params, $event)
454
+ $xeGrid.dispatchEvent('form-toggle-collapse', params, $event)
455
+ $xeGrid.dispatchEvent('form-collapse', params, $event)
456
456
  }
457
457
 
458
458
  const handleZoom = (isMax?: boolean) => {
@@ -464,9 +464,9 @@ export default defineVxeComponent({
464
464
  }
465
465
  }
466
466
  return nextTick()
467
- .then(() => gridExtendTableMethods.recalculate(true))
467
+ .then(() => $xeGrid.recalculate(true))
468
468
  .then(() => {
469
- setTimeout(() => gridExtendTableMethods.recalculate(true), 15)
469
+ setTimeout(() => $xeGrid.recalculate(true), 15)
470
470
  return reactData.isZMax
471
471
  })
472
472
  }
@@ -520,8 +520,8 @@ export default defineVxeComponent({
520
520
  } else {
521
521
  if (formOpts.items) {
522
522
  const formSlots: { [key: string]: () => VNode[] } = {}
523
- if (!formOpts.inited) {
524
- formOpts.inited = true
523
+ if (!(formOpts as any).inited) {
524
+ (formOpts as any).inited = true
525
525
  const beforeItem = proxyOpts.beforeItem
526
526
  if (proxyOpts && beforeItem) {
527
527
  formOpts.items.forEach((item) => {
@@ -631,12 +631,13 @@ export default defineVxeComponent({
631
631
  * 渲染表格顶部区域
632
632
  */
633
633
  const renderTop = () => {
634
- if (slots.top) {
634
+ const topSlot = slots.top
635
+ if (topSlot) {
635
636
  return h('div', {
636
637
  ref: refTopWrapper,
637
638
  key: 'top',
638
639
  class: 'vxe-grid--top-wrapper'
639
- }, slots.top({ $grid: $xeGrid }))
640
+ }, topSlot({ $grid: $xeGrid }))
640
641
  }
641
642
  return renderEmptyElement($xeGrid)
642
643
  }
@@ -830,6 +831,30 @@ export default defineVxeComponent({
830
831
  tableCompEvents[type] = (...args: any[]) => emit(name, ...args)
831
832
  })
832
833
 
834
+ const getDefaultFormData = () => {
835
+ const formOpts = computeFormOpts.value
836
+ if (formOpts.items) {
837
+ const fData: any = {}
838
+ formOpts.items.forEach(item => {
839
+ const { field, itemRender } = item
840
+ if (field) {
841
+ let itemValue: any = null
842
+ if (itemRender) {
843
+ const { defaultValue } = itemRender
844
+ if (XEUtils.isFunction(defaultValue)) {
845
+ itemValue = defaultValue({ item })
846
+ } else if (!XEUtils.isUndefined(defaultValue)) {
847
+ itemValue = defaultValue
848
+ }
849
+ }
850
+ fData[field] = itemValue
851
+ }
852
+ })
853
+ return fData
854
+ }
855
+ return {}
856
+ }
857
+
833
858
  const initProxy = () => {
834
859
  const { proxyConfig, formConfig } = props
835
860
  const { proxyInited } = reactData
@@ -837,40 +862,24 @@ export default defineVxeComponent({
837
862
  const formOpts = computeFormOpts.value
838
863
  if (proxyConfig && isEnableConf(proxyOpts)) {
839
864
  if (formConfig && isEnableConf(formOpts) && proxyOpts.form && formOpts.items) {
840
- const fData: any = {}
841
- formOpts.items.forEach(item => {
842
- const { field, itemRender } = item
843
- if (field) {
844
- let itemValue: any = null
845
- if (itemRender) {
846
- const { defaultValue } = itemRender
847
- if (XEUtils.isFunction(defaultValue)) {
848
- itemValue = defaultValue({ item })
849
- } else if (!XEUtils.isUndefined(defaultValue)) {
850
- itemValue = defaultValue
851
- }
852
- }
853
- fData[field] = itemValue
854
- }
855
- })
856
- reactData.formData = fData
865
+ reactData.formData = getDefaultFormData()
857
866
  }
858
867
  if (!proxyInited) {
859
868
  reactData.proxyInited = true
860
869
  if (proxyOpts.autoLoad !== false) {
861
- nextTick().then(() => gridMethods.commitProxy('_init')).then((rest) => {
862
- gridMethods.dispatchEvent('proxy-query', { ...rest, isInited: true }, new Event('init'))
870
+ nextTick().then(() => gridMethods.commitProxy('initial')).then((rest) => {
871
+ gridMethods.dispatchEvent('proxy-query', { ...rest, isInited: true }, new Event('initial'))
863
872
  })
864
873
  }
865
874
  }
866
875
  }
867
876
  }
868
877
 
869
- const handleGlobalKeydownEvent = (evnt: any) => {
878
+ const handleGlobalKeydownEvent = (evnt: KeyboardEvent) => {
870
879
  const zoomOpts = computeZoomOpts.value
871
880
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
872
881
  if (isEsc && reactData.isZMax && zoomOpts.escRestore !== false) {
873
- gridPrivateMethods.triggerZoomEvent(evnt)
882
+ $xeGrid.triggerZoomEvent(evnt)
874
883
  }
875
884
  }
876
885
 
@@ -888,7 +897,7 @@ export default defineVxeComponent({
888
897
  * @param {String/Object} code 字符串或对象
889
898
  */
890
899
  commitProxy (proxyTarget: string | VxeToolbarPropTypes.ButtonConfig, ...args: any[]) {
891
- const { toolbarConfig, pagerConfig, editRules, validConfig } = props
900
+ const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
892
901
  const { tablePage } = reactData
893
902
  const isActiveMsg = computeIsActiveMsg.value
894
903
  const isRespMsg = computeIsRespMsg.value
@@ -898,7 +907,7 @@ export default defineVxeComponent({
898
907
  const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
899
908
  const resConfigs = proxyOpts.response || proxyOpts.props || {}
900
909
  const $xeTable = refTable.value
901
- const formData = getFormData()
910
+ let formData = getFormData()
902
911
  let button: VxeToolbarPropTypes.ButtonConfig | null = null
903
912
  let code: string | null = null
904
913
  if (XEUtils.isString(proxyTarget)) {
@@ -915,11 +924,11 @@ export default defineVxeComponent({
915
924
  case 'insert':
916
925
  return $xeTable.insert({})
917
926
  case 'insert_edit':
918
- return $xeTable.insert({}).then(({ row }) => $xeTable.setEditRow(row, true))
927
+ return $xeTable.insert({}).then(({ row }) => $xeTable.setEditRow(row))
919
928
 
920
929
  // 已废弃
921
930
  case 'insert_actived':
922
- return $xeTable.insert({}).then(({ row }) => $xeTable.setEditRow(row, true))
931
+ return $xeTable.insert({}).then(({ row }) => $xeTable.setEditRow(row))
923
932
  // 已废弃
924
933
 
925
934
  case 'mark_cancel':
@@ -941,14 +950,14 @@ export default defineVxeComponent({
941
950
  break
942
951
  case 'reset_custom':
943
952
  return $xeTable.resetCustom(true)
944
- case '_init':
953
+ case 'initial':
945
954
  case 'reload':
946
955
  case 'query': {
947
956
  const ajaxMethods = ajax.query
948
957
  const querySuccessMethods = ajax.querySuccess
949
958
  const queryErrorMethods = ajax.queryError
950
959
  if (ajaxMethods) {
951
- const isInited = code === '_init'
960
+ const isInited = code === 'initial'
952
961
  const isReload = code === 'reload'
953
962
  if (!isInited && reactData.tableLoading) {
954
963
  return nextTick()
@@ -958,6 +967,7 @@ export default defineVxeComponent({
958
967
  let pageParams: any = {}
959
968
  if (pagerConfig) {
960
969
  if (isInited || isReload) {
970
+ // 重置分页
961
971
  tablePage.currentPage = 1
962
972
  }
963
973
  if (isEnableConf(pagerOpts)) {
@@ -965,26 +975,41 @@ export default defineVxeComponent({
965
975
  }
966
976
  }
967
977
  if (isInited) {
968
- let defaultSort = null
978
+ // 重置代理表单数据
979
+ if (proxyConfig && isEnableConf(proxyOpts) && proxyOpts.form) {
980
+ formData = getDefaultFormData()
981
+ reactData.formData = formData
982
+ }
969
983
  if ($xeTable) {
984
+ const { internalData: tableInternalData } = $xeTable
985
+ const { tableFullColumn, fullColumnFieldData } = tableInternalData
970
986
  const { computeSortOpts } = $xeTable.getComputeMaps()
971
987
  const sortOpts = computeSortOpts.value
972
- defaultSort = sortOpts.defaultSort
973
- }
974
- // 如果使用默认排序
975
- if (defaultSort) {
976
- if (!XEUtils.isArray(defaultSort)) {
977
- defaultSort = [defaultSort]
978
- }
979
- sortList = defaultSort.map((item) => {
980
- return {
981
- field: item.field,
982
- property: item.field,
983
- order: item.order
984
- }
988
+ let defaultSort = sortOpts.defaultSort
989
+ tableFullColumn.forEach((column) => {
990
+ column.order = null
985
991
  })
986
- }
987
- if ($xeTable) {
992
+ // 如果使用默认排序
993
+ if (defaultSort) {
994
+ if (!XEUtils.isArray(defaultSort)) {
995
+ defaultSort = [defaultSort]
996
+ }
997
+ sortList = defaultSort.map((item) => {
998
+ const { field, order } = item
999
+ const colRest = fullColumnFieldData[field]
1000
+ if (colRest) {
1001
+ const column = colRest.column
1002
+ if (column) {
1003
+ column.order = order
1004
+ }
1005
+ }
1006
+ return {
1007
+ field,
1008
+ property: field,
1009
+ order
1010
+ }
1011
+ })
1012
+ }
988
1013
  filterList = $xeTable.getCheckedFilters()
989
1014
  }
990
1015
  } else {
@@ -1310,23 +1335,23 @@ export default defineVxeComponent({
1310
1335
  },
1311
1336
  triggerToolbarCommitEvent (params, evnt) {
1312
1337
  const { code } = params
1313
- return gridMethods.commitProxy(params, evnt).then((rest) => {
1338
+ return $xeGrid.commitProxy(params, evnt).then((rest) => {
1314
1339
  if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1315
- gridMethods.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code as 'delete' | 'save'}` : 'proxy-query', { ...rest, isReload: code === 'reload' }, evnt)
1340
+ $xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code as 'delete' | 'save'}` : 'proxy-query', { ...rest, isReload: code === 'reload' }, evnt)
1316
1341
  }
1317
1342
  })
1318
1343
  },
1319
1344
  triggerToolbarBtnEvent (button, evnt) {
1320
- gridPrivateMethods.triggerToolbarCommitEvent(button, evnt)
1321
- gridMethods.dispatchEvent('toolbar-button-click', { code: button.code, button }, evnt)
1345
+ $xeGrid.triggerToolbarCommitEvent(button, evnt)
1346
+ $xeGrid.dispatchEvent('toolbar-button-click', { code: button.code, button }, evnt)
1322
1347
  },
1323
1348
  triggerToolbarTolEvent (tool, evnt) {
1324
- gridPrivateMethods.triggerToolbarCommitEvent(tool, evnt)
1325
- gridMethods.dispatchEvent('toolbar-tool-click', { code: tool.code, tool }, evnt)
1349
+ $xeGrid.triggerToolbarCommitEvent(tool, evnt)
1350
+ $xeGrid.dispatchEvent('toolbar-tool-click', { code: tool.code, tool }, evnt)
1326
1351
  },
1327
1352
  triggerZoomEvent (evnt) {
1328
- gridMethods.zoom()
1329
- gridMethods.dispatchEvent('zoom', { type: reactData.isZMax ? 'max' : 'revert' }, evnt)
1353
+ $xeGrid.zoom()
1354
+ $xeGrid.dispatchEvent('zoom', { type: reactData.isZMax ? 'max' : 'revert' }, evnt)
1330
1355
  }
1331
1356
  }
1332
1357
 
@@ -1402,6 +1427,7 @@ export default defineVxeComponent({
1402
1427
  onMounted(() => {
1403
1428
  nextTick(() => {
1404
1429
  const { columns } = props
1430
+ const proxyOpts = computeProxyOpts.value
1405
1431
 
1406
1432
  if (props.formConfig) {
1407
1433
  if (!VxeUIFormComponent) {
@@ -1415,15 +1441,14 @@ export default defineVxeComponent({
1415
1441
  }
1416
1442
 
1417
1443
  // const { data, columns, proxyConfig } = props
1418
- // const proxyOpts = computeProxyOpts.value
1419
1444
  // const formOpts = computeFormOpts.value
1420
1445
  // if (isEnableConf(proxyConfig) && (data || (proxyOpts.form && formOpts.data))) {
1421
1446
  // errLog('vxe.error.errConflicts', ['grid.data', 'grid.proxy-config'])
1422
1447
  // }
1423
1448
 
1424
- // if (proxyOpts.props) {
1425
- // warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response'])
1426
- // }
1449
+ if (proxyOpts.props) {
1450
+ warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response'])
1451
+ }
1427
1452
 
1428
1453
  if (columns && columns.length) {
1429
1454
  $xeGrid.loadColumn(columns)
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'التوجيه العالمي "{0}" غير موجود',
37
37
  notSlot: 'الفتحة "{0}" غير موجودة',
38
38
  noTree: '"{0}" غير مدعوم في بنية الشجرة',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'المعلمة غير المدعومة "{0}"',
41
40
  checkProp: 'عندما يكون حجم البيانات كبيرًا جدًا ، قد يتم تعثر خانة الاختيار. يوصى بتعيين المعلمة "{0}" لتحسين سرعة التقديم',
42
41
  coverProp: 'يتم تعريف المعلمة "{1}" من "{0}" مرارًا وتكرارًا ، والتي قد تسبب خطأً',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'واضح',
357
356
  confirm: 'يتأكد',
358
- copySuccess: 'نسخ إلى الحافظة: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'نسخ إلى الحافظة: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'اسم النموذج',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'Die globale Richtlinie "{0}" existiert nicht',
37
37
  notSlot: 'Slot "{0}" existiert nicht',
38
38
  noTree: '"{0}" wird in der Baumstruktur nicht unterstützt',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Nicht unterstützter Parameter "{0}"',
41
40
  checkProp: 'Wenn das Datenvolumen zu groß ist, kann das Kontrollkästchen stottern. Es wird empfohlen, den Parameter "{0}" festzulegen, um die Rendering -Geschwindigkeit zu verbessern',
42
41
  coverProp: 'Der Parameter "{1}" von "{0}" wird wiederholt definiert, was einen Fehler verursachen kann',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Klar',
357
356
  confirm: 'bestätigen',
358
- copySuccess: 'Kopieren Sie in Zwischenablage: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Kopieren Sie in Zwischenablage: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Formname',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'The global directive "{0}" does not exist',
37
37
  notSlot: 'Slot "{0}" does not exist',
38
38
  noTree: '"{0}" is not supported in the tree structure',
39
- noGroup: '"{0}" is not supported in the aggregation grouping',
40
39
  notProp: 'Unsupported parameter "{0}"',
41
40
  checkProp: 'When the data volume is too large, the check box may be stuttered. It is recommended to set the parameter "{0}" to improve rendering speed',
42
41
  coverProp: 'The parameter "{1}" of "{0}" is repeatedly defined, which may cause an error',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Clear',
357
356
  confirm: 'confirm',
358
- copySuccess: 'Copyed to clipboard: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Copyed to clipboard: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Form name',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'La directiva global "{0}" no existe',
37
37
  notSlot: 'La ranura "{0}" no existe',
38
38
  noTree: '"{0}" no es compatible con la estructura del árbol',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Parámetro no compatible "{0}"',
41
40
  checkProp: 'Cuando el volumen de datos es demasiado grande, la casilla de verificación puede tartamudear. Se recomienda establecer el parámetro "{0}" para mejorar la velocidad de renderización',
42
41
  coverProp: 'El parámetro "{1}" de "{0}" se define repetidamente, lo que puede causar un error',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Claro',
357
356
  confirm: 'confirmar',
358
- copySuccess: 'Copiado al portapapeles: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Copiado al portapapeles: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Nombre del formulario',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: "La directive globale \"{0}\" n'existe pas",
37
37
  notSlot: "Slot \"{0}\" n'existe pas",
38
38
  noTree: "\"{0}\" n'est pas pris en charge dans la structure de l'arbre",
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Paramètre non pris en charge "{0}"',
41
40
  checkProp: 'Lorsque le volume de données est trop grand, la case peut être bégayée. Il est recommandé de définir le paramètre "{0}" pour améliorer la vitesse de rendu',
42
41
  coverProp: 'Le paramètre "{1}" de "{0}" est défini à plusieurs reprises, ce qui peut provoquer une erreur',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Clair',
357
356
  confirm: 'confirmer',
358
- copySuccess: 'Copie dans le presse-papiers: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Copie dans le presse-papiers: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Nom de formulaire',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'A "{0}" globális irányelv nem létezik',
37
37
  notSlot: 'A "{0}" rés nem létezik',
38
38
  noTree: 'A "{0}" nem támogatott a faszerkezetben',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Nem támogatott paraméter "{0}"',
41
40
  checkProp: 'Ha az adatmennyiség túl nagy, akkor a jelölőnégyzet dadoghat. Javasoljuk, hogy állítsa be a "{0}" paramétert a megjelenítési sebesség javítása érdekében',
42
41
  coverProp: 'A "{1}" paramétert a "{0}" paramétere többször meghatározza, ami hibát okozhat',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Világos',
357
356
  confirm: 'megerősít',
358
- copySuccess: 'Másolva a vágólapra: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Másolva a vágólapra: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Forma neve',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: '全局指令 "{0}" 不存在',
37
37
  notSlot: '插槽 "{0}" 不存在',
38
38
  noTree: '树结构不支持 "{0}"',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: '不支持的参数 "{0}"',
41
40
  checkProp: '当数据量过大时可能会导致复选框卡顿,建议设置参数 "{0}" 提升渲染速度',
42
41
  coverProp: '"{0}" 的参数 "{1}" 重复定义,这可能会出现错误',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: '清除',
357
356
  confirm: '确认',
358
- copySuccess: '已复制到剪贴板:{0}',
359
- hex: 'HEX'
357
+ copySuccess: '已复制到剪贴板:{0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: '表单名称',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'Petunjuk global "{0}" tidak ada',
37
37
  notSlot: 'Slot "{0}" tidak ada',
38
38
  noTree: '"{0}" tidak didukung dalam struktur pohon',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Parameter yang tidak didukung "{0}"',
41
40
  checkProp: 'Ketika volume data terlalu besar, kotak centang mungkin tergagap. Disarankan untuk mengatur parameter "{0}" untuk meningkatkan kecepatan rendering',
42
41
  coverProp: 'Parameter "{1}" dari "{0}" berulang kali didefinisikan, yang dapat menyebabkan kesalahan',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Jernih',
357
356
  confirm: 'mengonfirmasi',
358
- copySuccess: 'Disalin ke clipboard: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Disalin ke clipboard: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Nama bentuk',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'La direttiva globale "{0}" non esiste',
37
37
  notSlot: 'Lo slot "{0}" non esiste',
38
38
  noTree: "\"{0}\" non è supportato nella struttura dell'albero",
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Parametro non supportato "{0}"',
41
40
  checkProp: 'Quando il volume dei dati è troppo grande, la casella di controllo può essere balbettata. Si consiglia di impostare il parametro "{0}" per migliorare la velocità di rendering',
42
41
  coverProp: 'Il parametro "{1}" di "{0}" è ripetutamente definito, che può causare un errore',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Chiaro',
357
356
  confirm: 'confermare',
358
- copySuccess: 'Copiato sugli appunti: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Copiato sugli appunti: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Nome del modulo',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'グローバル指令「{0}」は存在しません',
37
37
  notSlot: 'スロット「{0}」は存在しません',
38
38
  noTree: '「{0}」はツリー構造ではサポートされていません',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'サポートされていないパラメーター "{0}"',
41
40
  checkProp: 'データのボリュームが大きすぎると、チェックボックスがutter音を立てる可能性があります。レンダリング速度を改善するためにパラメーター「{0}」を設定することをお勧めします',
42
41
  coverProp: '「{0}」のパラメーター「{1}」が繰り返し定義されているため、エラーが発生する可能性があります',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'クリア',
357
356
  confirm: '確認する',
358
- copySuccess: 'クリップボードにコピー:{0}',
359
- hex: 'HEX'
357
+ copySuccess: 'クリップボードにコピー:{0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'フォーム名',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: '글로벌 지시문 "{0}"은 존재하지 않습니다',
37
37
  notSlot: '슬롯 "{0}"은 존재하지 않습니다',
38
38
  noTree: '"{0}"은 트리 구조에서 지원되지 않습니다',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: '지원되지 않는 매개 변수 "{0}"',
41
40
  checkProp: '데이터 볼륨이 너무 커지면 확인란이 말더듬 될 수 있습니다. 렌더링 속도를 향상시키기 위해 매개 변수 "{0}"를 설정하는 것이 좋습니다.',
42
41
  coverProp: '"{0}"의 매개 변수 "{1}"이 반복적으로 정의되어 오류가 발생할 수 있습니다.',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: '분명한',
357
356
  confirm: '확인하다',
358
- copySuccess: '클립 보드로 복사 : {0}',
359
- hex: 'HEX'
357
+ copySuccess: '클립 보드로 복사 : {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: '양식 이름',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'Arahan global "{0}" tidak wujud',
37
37
  notSlot: 'Slot "{0}" tidak wujud',
38
38
  noTree: '"{0}" tidak disokong dalam struktur pokok',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Parameter yang tidak disokong "{0}"',
41
40
  checkProp: 'Apabila jumlah data terlalu besar, kotak semak boleh digagalkan. Adalah disyorkan untuk menetapkan parameter "{0}" untuk meningkatkan kelajuan rendering',
42
41
  coverProp: 'Parameter "{1}" dari "{0}" ditakrifkan berulang kali, yang boleh menyebabkan ralat',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Jelas',
357
356
  confirm: 'mengesahkan',
358
- copySuccess: 'Disalin ke papan klip: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Disalin ke papan klip: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Nama Bentuk',
@@ -36,7 +36,6 @@ export default {
36
36
  notCommands: 'Det globale direktivet "{0}" eksisterer ikke',
37
37
  notSlot: 'Slot "{0}" eksisterer ikke',
38
38
  noTree: '"{0}" støttes ikke i trestrukturen',
39
- noGroup: '数据分组后不支持 "{0}"',
40
39
  notProp: 'Ikke støttet parameter "{0}"',
41
40
  checkProp: 'Når datavolumet er for stort, kan avmerkingsboksen være stammet. Det anbefales å angi parameteren "{0}" for å forbedre gjengivelseshastigheten',
42
41
  coverProp: 'Parameteren "{1}" av "{0}" er gjentatte ganger definert, noe som kan forårsake en feil',
@@ -355,8 +354,7 @@ export default {
355
354
  colorPicker: {
356
355
  clear: 'Klar',
357
356
  confirm: 'bekrefte',
358
- copySuccess: 'Kopiert til utklippstavlen: {0}',
359
- hex: 'HEX'
357
+ copySuccess: 'Kopiert til utklippstavlen: {0}'
360
358
  },
361
359
  formDesign: {
362
360
  formName: 'Formnavn',