vxe-table 3.22.11 → 3.23.0-beta.0

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 (167) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +20 -0
  4. package/es/locale/lang/de-DE.js +20 -0
  5. package/es/locale/lang/en-US.js +20 -0
  6. package/es/locale/lang/es-ES.js +20 -0
  7. package/es/locale/lang/fr-FR.js +20 -0
  8. package/es/locale/lang/hu-HU.js +20 -0
  9. package/es/locale/lang/hy-AM.js +20 -0
  10. package/es/locale/lang/id-ID.js +20 -0
  11. package/es/locale/lang/it-IT.js +20 -0
  12. package/es/locale/lang/ja-JP.js +20 -0
  13. package/es/locale/lang/ko-KR.js +20 -0
  14. package/es/locale/lang/ms-MY.js +20 -0
  15. package/es/locale/lang/nb-NO.js +20 -0
  16. package/es/locale/lang/pt-BR.js +20 -0
  17. package/es/locale/lang/ru-RU.js +20 -0
  18. package/es/locale/lang/th-TH.js +20 -0
  19. package/es/locale/lang/ug-CN.js +20 -0
  20. package/es/locale/lang/uk-UA.js +20 -0
  21. package/es/locale/lang/uz-UZ.js +20 -0
  22. package/es/locale/lang/vi-VN.js +20 -0
  23. package/es/locale/lang/zh-CHT.js +20 -0
  24. package/es/locale/lang/zh-CN.js +22 -2
  25. package/es/style.css +1 -1
  26. package/es/style.min.css +1 -1
  27. package/es/table/module/edit/mixin.js +57 -20
  28. package/es/table/module/keyboard/mixin.js +2 -2
  29. package/es/table/render/index.js +130 -23
  30. package/es/table/src/cell.js +12 -20
  31. package/es/table/src/methods.js +38 -28
  32. package/es/table/src/table.js +1 -1
  33. package/es/table/style.css +9 -0
  34. package/es/table/style.min.css +1 -1
  35. package/es/ui/index.js +4 -2
  36. package/es/ui/src/log.js +1 -1
  37. package/es/vxe-table/style.css +9 -0
  38. package/es/vxe-table/style.min.css +1 -1
  39. package/lib/index.css +1 -1
  40. package/lib/index.min.css +1 -1
  41. package/lib/index.umd.js +300 -90
  42. package/lib/index.umd.min.js +1 -1
  43. package/lib/locale/lang/ar-EG.js +20 -0
  44. package/lib/locale/lang/ar-EG.min.js +1 -1
  45. package/lib/locale/lang/ar-EG.umd.js +20 -0
  46. package/lib/locale/lang/de-DE.js +20 -0
  47. package/lib/locale/lang/de-DE.min.js +1 -1
  48. package/lib/locale/lang/de-DE.umd.js +20 -0
  49. package/lib/locale/lang/en-US.js +20 -0
  50. package/lib/locale/lang/en-US.min.js +1 -1
  51. package/lib/locale/lang/en-US.umd.js +20 -0
  52. package/lib/locale/lang/es-ES.js +20 -0
  53. package/lib/locale/lang/es-ES.min.js +1 -1
  54. package/lib/locale/lang/es-ES.umd.js +20 -0
  55. package/lib/locale/lang/fr-FR.js +20 -0
  56. package/lib/locale/lang/fr-FR.min.js +1 -1
  57. package/lib/locale/lang/fr-FR.umd.js +20 -0
  58. package/lib/locale/lang/hu-HU.js +20 -0
  59. package/lib/locale/lang/hu-HU.min.js +1 -1
  60. package/lib/locale/lang/hu-HU.umd.js +20 -0
  61. package/lib/locale/lang/hy-AM.js +20 -0
  62. package/lib/locale/lang/hy-AM.min.js +1 -1
  63. package/lib/locale/lang/hy-AM.umd.js +20 -0
  64. package/lib/locale/lang/id-ID.js +20 -0
  65. package/lib/locale/lang/id-ID.min.js +1 -1
  66. package/lib/locale/lang/id-ID.umd.js +20 -0
  67. package/lib/locale/lang/it-IT.js +20 -0
  68. package/lib/locale/lang/it-IT.min.js +1 -1
  69. package/lib/locale/lang/it-IT.umd.js +20 -0
  70. package/lib/locale/lang/ja-JP.js +20 -0
  71. package/lib/locale/lang/ja-JP.min.js +1 -1
  72. package/lib/locale/lang/ja-JP.umd.js +20 -0
  73. package/lib/locale/lang/ko-KR.js +20 -0
  74. package/lib/locale/lang/ko-KR.min.js +1 -1
  75. package/lib/locale/lang/ko-KR.umd.js +20 -0
  76. package/lib/locale/lang/ms-MY.js +20 -0
  77. package/lib/locale/lang/ms-MY.min.js +1 -1
  78. package/lib/locale/lang/ms-MY.umd.js +20 -0
  79. package/lib/locale/lang/nb-NO.js +20 -0
  80. package/lib/locale/lang/nb-NO.min.js +1 -1
  81. package/lib/locale/lang/nb-NO.umd.js +20 -0
  82. package/lib/locale/lang/pt-BR.js +20 -0
  83. package/lib/locale/lang/pt-BR.min.js +1 -1
  84. package/lib/locale/lang/pt-BR.umd.js +20 -0
  85. package/lib/locale/lang/ru-RU.js +20 -0
  86. package/lib/locale/lang/ru-RU.min.js +1 -1
  87. package/lib/locale/lang/ru-RU.umd.js +20 -0
  88. package/lib/locale/lang/th-TH.js +20 -0
  89. package/lib/locale/lang/th-TH.min.js +1 -1
  90. package/lib/locale/lang/th-TH.umd.js +20 -0
  91. package/lib/locale/lang/ug-CN.js +20 -0
  92. package/lib/locale/lang/ug-CN.min.js +1 -1
  93. package/lib/locale/lang/ug-CN.umd.js +20 -0
  94. package/lib/locale/lang/uk-UA.js +20 -0
  95. package/lib/locale/lang/uk-UA.min.js +1 -1
  96. package/lib/locale/lang/uk-UA.umd.js +20 -0
  97. package/lib/locale/lang/uz-UZ.js +20 -0
  98. package/lib/locale/lang/uz-UZ.min.js +1 -1
  99. package/lib/locale/lang/uz-UZ.umd.js +20 -0
  100. package/lib/locale/lang/vi-VN.js +20 -0
  101. package/lib/locale/lang/vi-VN.min.js +1 -1
  102. package/lib/locale/lang/vi-VN.umd.js +20 -0
  103. package/lib/locale/lang/zh-CHT.js +20 -0
  104. package/lib/locale/lang/zh-CHT.min.js +1 -1
  105. package/lib/locale/lang/zh-CHT.umd.js +20 -0
  106. package/lib/locale/lang/zh-CN.js +22 -2
  107. package/lib/locale/lang/zh-CN.min.js +1 -1
  108. package/lib/locale/lang/zh-CN.umd.js +22 -2
  109. package/lib/style.css +1 -1
  110. package/lib/style.min.css +1 -1
  111. package/lib/table/module/edit/mixin.js +72 -24
  112. package/lib/table/module/edit/mixin.min.js +1 -1
  113. package/lib/table/module/keyboard/mixin.js +2 -2
  114. package/lib/table/module/keyboard/mixin.min.js +1 -1
  115. package/lib/table/render/index.js +171 -26
  116. package/lib/table/render/index.min.js +1 -1
  117. package/lib/table/src/cell.js +8 -16
  118. package/lib/table/src/cell.min.js +1 -1
  119. package/lib/table/src/methods.js +16 -16
  120. package/lib/table/src/methods.min.js +1 -1
  121. package/lib/table/src/table.js +1 -1
  122. package/lib/table/src/table.min.js +1 -1
  123. package/lib/table/style/style.css +9 -0
  124. package/lib/table/style/style.min.css +1 -1
  125. package/lib/ui/index.js +4 -2
  126. package/lib/ui/index.min.js +1 -1
  127. package/lib/ui/src/log.js +1 -1
  128. package/lib/ui/src/log.min.js +1 -1
  129. package/lib/vxe-table/style/style.css +9 -0
  130. package/lib/vxe-table/style/style.min.css +1 -1
  131. package/package.json +2 -2
  132. package/packages/locale/lang/ar-EG.ts +20 -0
  133. package/packages/locale/lang/de-DE.ts +20 -0
  134. package/packages/locale/lang/en-US.ts +20 -0
  135. package/packages/locale/lang/es-ES.ts +20 -0
  136. package/packages/locale/lang/fr-FR.ts +20 -0
  137. package/packages/locale/lang/hu-HU.ts +20 -0
  138. package/packages/locale/lang/hy-AM.ts +20 -0
  139. package/packages/locale/lang/id-ID.ts +20 -0
  140. package/packages/locale/lang/it-IT.ts +20 -0
  141. package/packages/locale/lang/ja-JP.ts +20 -0
  142. package/packages/locale/lang/ko-KR.ts +20 -0
  143. package/packages/locale/lang/ms-MY.ts +20 -0
  144. package/packages/locale/lang/nb-NO.ts +20 -0
  145. package/packages/locale/lang/pt-BR.ts +20 -0
  146. package/packages/locale/lang/ru-RU.ts +20 -0
  147. package/packages/locale/lang/th-TH.ts +20 -0
  148. package/packages/locale/lang/ug-CN.ts +20 -0
  149. package/packages/locale/lang/uk-UA.ts +20 -0
  150. package/packages/locale/lang/uz-UZ.ts +20 -0
  151. package/packages/locale/lang/vi-VN.ts +20 -0
  152. package/packages/locale/lang/zh-CHT.ts +20 -0
  153. package/packages/locale/lang/zh-CN.ts +22 -2
  154. package/packages/table/module/edit/mixin.ts +83 -25
  155. package/packages/table/module/keyboard/mixin.ts +2 -2
  156. package/packages/table/render/index.ts +144 -25
  157. package/packages/table/src/cell.ts +12 -20
  158. package/packages/table/src/methods.ts +38 -28
  159. package/packages/table/src/table.ts +1 -1
  160. package/packages/ui/index.ts +3 -1
  161. package/styles/components/table.scss +18 -0
  162. /package/es/{iconfont.1786329223308.ttf → iconfont.1786796852436.ttf} +0 -0
  163. /package/es/{iconfont.1786329223308.woff → iconfont.1786796852436.woff} +0 -0
  164. /package/es/{iconfont.1786329223308.woff2 → iconfont.1786796852436.woff2} +0 -0
  165. /package/lib/{iconfont.1786329223308.ttf → iconfont.1786796852436.ttf} +0 -0
  166. /package/lib/{iconfont.1786329223308.woff → iconfont.1786796852436.woff} +0 -0
  167. /package/lib/{iconfont.1786329223308.woff2 → iconfont.1786796852436.woff2} +0 -0
@@ -305,7 +305,11 @@ function renderHeaderHandle (h: CreateElement, params: VxeTableDefines.CellRende
305
305
  const { column, $table } = params
306
306
  const tableProps = $table
307
307
  const { editConfig } = tableProps
308
- const { type, filters, sortable, editRender } = column
308
+ const { type, filters, sortable, editRender, slots } = column
309
+ const headerSlot = slots ? slots.header : null
310
+ if (headerSlot) {
311
+ return renderTitleContent(h, params, $table.callSlot(headerSlot, params, h))
312
+ }
309
313
  switch (type) {
310
314
  case 'seq':
311
315
  return Cell.renderSeqHeader(h, params)
@@ -363,11 +367,7 @@ export const Cell = {
363
367
  const { $table, column } = params
364
368
  const tableProps = $table
365
369
  const { editConfig } = tableProps
366
- const { slots, editRender, cellRender } = column
367
- const headerSlot = slots ? slots.header : null
368
- if (headerSlot) {
369
- return renderTitleContent(h, params, $table.callSlot(headerSlot, params, h))
370
- }
370
+ const { editRender, cellRender } = column
371
371
  const isEnableEdit = editConfig && isEnableConf(editConfig)
372
372
  const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null
373
373
  const cellRenderOpts = isEnableConf(cellRender) ? cellRender : null
@@ -640,8 +640,7 @@ export const Cell = {
640
640
  */
641
641
  renderSeqHeader (h: CreateElement, params: VxeTableDefines.CellRenderHeaderParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
642
642
  const { $table, column } = params
643
- const { slots } = column
644
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : $table.getHeaderCellLabel(column)))
643
+ return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, $table.getHeaderCellLabel(column)))
645
644
  },
646
645
  renderSeqCell (h: CreateElement, params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
647
646
  const { $table, column } = params
@@ -668,16 +667,13 @@ export const Cell = {
668
667
  renderRadioHeader (h: CreateElement, params: VxeTableDefines.CellRenderHeaderParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
669
668
  const { $table, column } = params
670
669
  const { slots } = column
671
- const headerSlot = slots ? slots.header : null
672
670
  const titleSlot = slots ? slots.title : null
673
671
  return renderHeaderCellBaseVNs(h, params,
674
- renderTitleContent(h, params, headerSlot
675
- ? $table.callSlot(headerSlot, params, h)
676
- : [
677
- h('span', {
678
- class: 'vxe-radio--label'
679
- }, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))
680
- ])
672
+ renderTitleContent(h, params, [
673
+ h('span', {
674
+ class: 'vxe-radio--label'
675
+ }, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))
676
+ ])
681
677
  )
682
678
  },
683
679
  renderRadioCell (h: CreateElement, params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
@@ -748,7 +744,6 @@ export const Cell = {
748
744
  const { isAllSelected: isAllCheckboxSelected, isIndeterminate: isAllCheckboxIndeterminate } = tableReactData
749
745
  const isAllCheckboxDisabled = $table.computeIsAllCheckboxDisabled
750
746
  const { slots } = column
751
- const headerSlot = slots ? slots.header : null
752
747
  const titleSlot = slots ? slots.title : null
753
748
  const checkboxOpts = $table.computeCheckboxOpts
754
749
  const { checkStrictly, showHeader, headerTitle } = checkboxOpts
@@ -762,9 +757,6 @@ export const Cell = {
762
757
  }
763
758
  }
764
759
  const checkboxParams = { ...params, checked: isAllCheckboxSelected, disabled: isAllCheckboxDisabled, indeterminate: isAllCheckboxIndeterminate }
765
- if (headerSlot) {
766
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, checkboxParams, $table.callSlot(headerSlot, checkboxParams, h)))
767
- }
768
760
  if (checkStrictly ? !showHeader : showHeader === false) {
769
761
  return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, checkboxParams, [
770
762
  h('span', {
@@ -7933,8 +7933,8 @@ const tableMethods: any = {
7933
7933
  if (isEsc) {
7934
7934
  this.preventEvent(evnt, 'event.keydown', null, () => {
7935
7935
  $xeTable.dispatchEvent('keydown-start', {}, evnt)
7936
- if (keyboardConfig && mouseConfig && mouseOpts.area && this.handleKeyboardCellAreaEvent) {
7937
- this.handleKeyboardCellAreaEvent(evnt)
7936
+ if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
7937
+ $xeTable.handleKdClAreaEvent(evnt)
7938
7938
  } else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
7939
7939
  evnt.stopPropagation()
7940
7940
  // 如果按下了 Esc 键,关闭快捷菜单、筛选
@@ -7991,6 +7991,7 @@ const tableMethods: any = {
7991
7991
  const { isLastEnterAppendRow, beforeEnterMethod, enterMethod, isLastTabAppendRow, beforeTabMethod, tabMethod } = keyboardOpts
7992
7992
  const { selected, actived } = editStore
7993
7993
  const { keyCode } = evnt
7994
+ const isProcess = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.PROCESS)
7994
7995
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
7995
7996
  const hasBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE)
7996
7997
  const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB)
@@ -8013,6 +8014,7 @@ const tableMethods: any = {
8013
8014
  const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row
8014
8015
  const childrenField = treeOpts.children || treeOpts.childrenField
8015
8016
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
8017
+ const selectRow = selected.row
8016
8018
  const selectColumn = selected.column
8017
8019
  if (operCtxMenu) {
8018
8020
  // 如果配置了右键菜单; 支持方向键操作、回车
@@ -8022,8 +8024,8 @@ const tableMethods: any = {
8022
8024
  } else {
8023
8025
  $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList)
8024
8026
  }
8025
- } else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKeyboardCellAreaEvent) {
8026
- $xeTable.handleKeyboardCellAreaEvent(evnt)
8027
+ } else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
8028
+ $xeTable.handleKdClAreaEvent(evnt)
8027
8029
  } else if (isEsc) {
8028
8030
  // 如果按下了 Esc 键,关闭快捷菜单、筛选
8029
8031
  if ($xeTable.closeMenu) {
@@ -8041,7 +8043,7 @@ const tableMethods: any = {
8041
8043
  }
8042
8044
  }
8043
8045
  }
8044
- } else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selected.row && selectColumn && (selectColumn.type === 'checkbox' || selectColumn.type === 'radio')) {
8046
+ } else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selectRow && selectColumn && (selectColumn.type === 'checkbox' || selectColumn.type === 'radio')) {
8045
8047
  // 空格键支持选中复选框
8046
8048
  evnt.preventDefault()
8047
8049
  if (selectColumn.type === 'checkbox') {
@@ -8052,19 +8054,19 @@ const tableMethods: any = {
8052
8054
  } else if (isF2 && isEnableConf(editConfig)) {
8053
8055
  if (!isEditStatus) {
8054
8056
  // 如果按下了 F2 键
8055
- if (selected.row && selectColumn) {
8057
+ if (selectRow && selectColumn) {
8056
8058
  evnt.preventDefault()
8057
8059
  $xeTable.handleEdit(selected.args, evnt)
8058
8060
  }
8059
8061
  }
8060
8062
  } else if (isContextMenu) {
8061
8063
  // 如果按下上下文键
8062
- internalData._keyCtx = selected.row && selectColumn && bodyMenu.length
8064
+ internalData._keyCtx = selectRow && selectColumn && bodyMenu.length
8063
8065
  clearTimeout(internalData.keyCtxTimeout)
8064
8066
  internalData.keyCtxTimeout = setTimeout(() => {
8065
8067
  internalData._keyCtx = false
8066
8068
  }, 1000)
8067
- } else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
8069
+ } else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selectRow || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
8068
8070
  // 退出选中
8069
8071
  if (isControlKey) {
8070
8072
  // 如果是激活编辑状态,则取消编辑
@@ -8078,11 +8080,11 @@ const tableMethods: any = {
8078
8080
  }
8079
8081
  } else {
8080
8082
  // 如果是激活状态,退则出到上一行/下一行
8081
- if (selected.row || actived.row) {
8082
- const activeRow = selected.row || actived.row
8083
+ if (selectRow || actived.row) {
8084
+ const activeRow = selectRow || actived.row
8083
8085
  const activeColumn = selectColumn || actived.column
8084
8086
  if (activeColumn) {
8085
- const activeParams = selected.row ? selected.args : actived.args
8087
+ const activeParams = selectRow ? selected.args : actived.args
8086
8088
  if (hasShiftKey) {
8087
8089
  if (keyboardOpts.enterToTab) {
8088
8090
  $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt)
@@ -8185,7 +8187,7 @@ const tableMethods: any = {
8185
8187
  } else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
8186
8188
  if (!isEditStatus) {
8187
8189
  // 如果按下了方向键
8188
- if (mouseOpts.selected && selected.row && selectColumn) {
8190
+ if (mouseOpts.selected && selectRow && selectColumn) {
8189
8191
  $xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt)
8190
8192
  } else {
8191
8193
  // 当前行按键上下移动
@@ -8200,11 +8202,11 @@ const tableMethods: any = {
8200
8202
  }
8201
8203
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {
8202
8204
  // 如果按下了 Tab 键切换
8203
- if (selected.row || actived.row) {
8204
- const activeRow = selected.row || actived.row
8205
+ if (selectRow || actived.row) {
8206
+ const activeRow = selectRow || actived.row
8205
8207
  const activeColumn = selectColumn || actived.column
8206
8208
  if (activeColumn) {
8207
- const activeParams = selected.row ? selected.args : actived.args
8209
+ const activeParams = selectRow ? selected.args : actived.args
8208
8210
  const _rowIndex = $xeTable.getVTRowIndex(activeRow)
8209
8211
  const _columnIndex = $xeTable.getVTColumnIndex(activeColumn)
8210
8212
  const ttrParams = {
@@ -8246,13 +8248,13 @@ const tableMethods: any = {
8246
8248
  }
8247
8249
  }
8248
8250
  }
8249
- } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selectColumn)) {
8251
+ } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selectRow || selectColumn)) {
8250
8252
  // 如果是删除键
8251
8253
  if (!isEditStatus) {
8252
8254
  const { delMethod } = keyboardOpts
8253
8255
  const params = {
8254
- row: selected.row,
8255
- rowIndex: $xeTable.getRowIndex(selected.row),
8256
+ row: selectRow,
8257
+ rowIndex: $xeTable.getRowIndex(selectRow),
8256
8258
  column: selectColumn as VxeTableDefines.ColumnInfo,
8257
8259
  columnIndex: $xeTable.getColumnIndex(selectColumn),
8258
8260
  $table: $xeTable,
@@ -8264,10 +8266,10 @@ const tableMethods: any = {
8264
8266
  if (delMethod) {
8265
8267
  delMethod(params)
8266
8268
  } else {
8267
- const selectCellValue = getCellValue(selected.row, selectColumn)
8269
+ const selectCellValue = getCellValue(selectRow, selectColumn)
8268
8270
  if (selectCellValue !== null) {
8269
8271
  $xeTable.handlePushStack()
8270
- setCellValue(selected.row, selectColumn, null)
8272
+ setCellValue(selectRow, selectColumn, null)
8271
8273
  }
8272
8274
  }
8273
8275
  // 如果按下 del 键,更新表尾数据
@@ -8275,16 +8277,20 @@ const tableMethods: any = {
8275
8277
  $xeTable.dispatchEvent('cell-delete-value', params, evnt)
8276
8278
  }
8277
8279
  }
8278
- } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selected.row || selectColumn)) {
8280
+ } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selectRow || selectColumn)) {
8279
8281
  if (!isEditStatus) {
8280
8282
  const { backMethod } = keyboardOpts
8281
8283
  // 如果是删除键
8282
- if (keyboardOpts.isDel && isEnableConf(editConfig) && (selected.row || selectColumn)) {
8284
+ if (keyboardOpts.isDel && isEnableConf(editConfig) && (selectRow || selectColumn)) {
8283
8285
  const params = {
8284
- row: selected.row,
8285
- rowIndex: $xeTable.getRowIndex(selected.row),
8286
+ row: selectRow,
8287
+ rowIndex: $xeTable.getRowIndex(selectRow),
8288
+ $rowIndex: $xeTable.getVMRowIndex(selectRow),
8289
+ _rowIndex: $xeTable.getVTRowIndex(selectRow),
8286
8290
  column: selectColumn as VxeTableDefines.ColumnInfo,
8287
8291
  columnIndex: $xeTable.getColumnIndex(selectColumn),
8292
+ $columnIndex: $xeTable.getVMColumnIndex(selectColumn),
8293
+ _columnIndex: $xeTable.getVTColumnIndex(selectColumn),
8288
8294
  $table: $xeTable,
8289
8295
  $grid: $xeGrid,
8290
8296
  $gantt: $xeGantt
@@ -8329,20 +8335,24 @@ const tableMethods: any = {
8329
8335
  evnt.preventDefault()
8330
8336
  $xeTable.handleUndoStackEvent(evnt)
8331
8337
  }
8332
- } else if (keyboardConfig && keyboardOpts.isEdit && !isControlKey && (isSpacebar || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
8338
+ } else if (keyboardConfig && keyboardOpts.isEdit && !isControlKey && (isSpacebar || isProcess || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
8333
8339
  const { editMode, editMethod } = keyboardOpts
8334
8340
  // 启用编辑后,空格键功能将失效
8335
8341
  // if (isSpacebar) {
8336
8342
  // evnt.preventDefault()
8337
8343
  // }
8338
8344
  // 如果是按下非功能键之外允许直接编辑
8339
- if (selectColumn && selected.row && isEnableConf(selectColumn.editRender)) {
8345
+ if (selectColumn && selectRow && isEnableConf(selectColumn.editRender)) {
8340
8346
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
8341
8347
  const params = {
8342
- row: selected.row,
8343
- rowIndex: $xeTable.getRowIndex(selected.row),
8348
+ row: selectRow,
8349
+ rowIndex: $xeTable.getRowIndex(selectRow),
8350
+ $rowIndex: $xeTable.getVMRowIndex(selectRow),
8351
+ _rowIndex: $xeTable.getVTRowIndex(selectRow),
8344
8352
  column: selectColumn,
8345
8353
  columnIndex: $xeTable.getColumnIndex(selectColumn),
8354
+ $columnIndex: $xeTable.getVMColumnIndex(selectColumn),
8355
+ _columnIndex: $xeTable.getVTColumnIndex(selectColumn),
8346
8356
  $table: $xeTable,
8347
8357
  $grid: $xeGrid,
8348
8358
  $gantt: $xeGantt
@@ -1839,7 +1839,7 @@ export default {
1839
1839
  if (rowOpts.height && !this.showOverflow) {
1840
1840
  warnLog('vxe.error.notProp', ['table.show-overflow'])
1841
1841
  }
1842
- if (!$xeTable.triggerCelllAreaMnEvent) {
1842
+ if (!$xeTable.triggerClAreaMnEvent) {
1843
1843
  if (props.areaConfig) {
1844
1844
  warnLog('vxe.error.notProp', ['area-config'])
1845
1845
  }
@@ -205,9 +205,11 @@ VxeUI.setConfig({
205
205
  },
206
206
  editConfig: {
207
207
  // mode: 'cell',
208
+ // cache: true,
208
209
  showIcon: true,
209
210
  showAsterisk: true,
210
- autoFocus: true
211
+ autoFocus: true,
212
+ isReuseKeep: true
211
213
  },
212
214
  importConfig: {
213
215
  _typeMaps: {
@@ -2694,6 +2694,24 @@ $btnThemeList: (
2694
2694
  padding: 0;
2695
2695
  }
2696
2696
  }
2697
+
2698
+ .vxe-body--row {
2699
+ .vxe-table--column {
2700
+ .vxe-cell {
2701
+ .vxe-cell--wrapper {
2702
+ & > .vxe-reusekeep-control {
2703
+ position: absolute;
2704
+ width: 0;
2705
+ height: 0;
2706
+ opacity: 0;
2707
+ border: 0;
2708
+ padding: 0;
2709
+ outline: none;
2710
+ }
2711
+ }
2712
+ }
2713
+ }
2714
+ }
2697
2715
  }
2698
2716
 
2699
2717
  /*valid error*/