vxe-table 4.7.30 → 4.7.31

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.7.30",
3
+ "version": "4.7.31",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.0.27"
31
+ "vxe-pc-ui": "^4.0.28"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -23,6 +23,7 @@ export default [
23
23
  'cell-mouseleave',
24
24
  'cell-selected',
25
25
  'cell-delete-value',
26
+ 'cell-backspace-value',
26
27
  'header-cell-click',
27
28
  'header-cell-dblclick',
28
29
  'header-cell-menu',
@@ -4876,7 +4876,7 @@ export default defineComponent({
4876
4876
  const childrenField = treeOpts.children || treeOpts.childrenField
4877
4877
  const keyCode = evnt.keyCode
4878
4878
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
4879
- const isBack = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE)
4879
+ const hasBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE)
4880
4880
  const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB)
4881
4881
  const isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER)
4882
4882
  const isSpacebar = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR)
@@ -4884,7 +4884,7 @@ export default defineComponent({
4884
4884
  const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)
4885
4885
  const isRightArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_RIGHT)
4886
4886
  const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)
4887
- const isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE)
4887
+ const hasDeleteKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE)
4888
4888
  const isF2 = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.F2)
4889
4889
  const isContextMenu = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.CONTEXT_MENU)
4890
4890
  const hasMetaKey = evnt.metaKey
@@ -5009,11 +5009,31 @@ export default defineComponent({
5009
5009
  } else if (actived.row || actived.column) {
5010
5010
  $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt)
5011
5011
  }
5012
- } else if (keyboardConfig && isEnableConf(editConfig) && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
5012
+ } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selected.column)) {
5013
+ // 如果是删除键
5014
+ if (!isEditStatus) {
5015
+ const { delMethod } = keyboardOpts
5016
+ const delPaqrams = {
5017
+ row: selected.row,
5018
+ rowIndex: tableMethods.getRowIndex(selected.row),
5019
+ column: selected.column,
5020
+ columnIndex: tableMethods.getColumnIndex(selected.column),
5021
+ $table: $xeTable
5022
+ }
5023
+ if (delMethod) {
5024
+ delMethod(delPaqrams)
5025
+ } else {
5026
+ setCellValue(selected.row, selected.column, null)
5027
+ }
5028
+ // 如果按下 del 键,更新表尾数据
5029
+ tableMethods.updateFooter()
5030
+ $xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt)
5031
+ }
5032
+ } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selected.row || selected.column)) {
5013
5033
  if (!isEditStatus) {
5014
5034
  const { delMethod, backMethod } = keyboardOpts
5015
5035
  // 如果是删除键
5016
- if (keyboardOpts.isDel && (selected.row || selected.column)) {
5036
+ if (keyboardOpts.isDel && isEnableConf(editConfig) && (selected.row || selected.column)) {
5017
5037
  const delPaqrams = {
5018
5038
  row: selected.row,
5019
5039
  rowIndex: tableMethods.getRowIndex(selected.row),
@@ -5026,39 +5046,34 @@ export default defineComponent({
5026
5046
  } else {
5027
5047
  setCellValue(selected.row, selected.column, null)
5028
5048
  }
5029
- if (isBack) {
5030
- if (backMethod) {
5031
- backMethod({
5032
- row: selected.row,
5033
- rowIndex: tableMethods.getRowIndex(selected.row),
5034
- column: selected.column,
5035
- columnIndex: tableMethods.getColumnIndex(selected.column),
5036
- $table: $xeTable
5037
- })
5038
- } else {
5039
- $xeTable.handleActived(selected.args, evnt)
5040
- }
5041
- } else if (isDel) {
5042
- // 如果按下 del 键,更新表尾数据
5043
- tableMethods.updateFooter()
5044
- }
5045
- $xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt)
5046
- } else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
5047
- // 如果树形表格回退键关闭当前行返回父节点
5048
- const { parent: parentRow } = XEUtils.findTree(internalData.afterFullData, item => item === currentRow, { children: childrenField })
5049
- if (parentRow) {
5050
- evnt.preventDefault()
5051
- params = {
5052
- $table: $xeTable,
5053
- row: parentRow,
5054
- rowIndex: tableMethods.getRowIndex(parentRow),
5055
- $rowIndex: tableMethods.getVMRowIndex(parentRow)
5056
- }
5057
- tableMethods.setTreeExpand(parentRow, false)
5058
- .then(() => tableMethods.scrollToRow(parentRow))
5059
- .then(() => tablePrivateMethods.triggerCurrentRowEvent(evnt, params))
5049
+ if (backMethod) {
5050
+ backMethod({
5051
+ row: selected.row,
5052
+ rowIndex: tableMethods.getRowIndex(selected.row),
5053
+ column: selected.column,
5054
+ columnIndex: tableMethods.getColumnIndex(selected.column),
5055
+ $table: $xeTable
5056
+ })
5057
+ } else {
5058
+ $xeTable.handleActived(selected.args, evnt)
5060
5059
  }
5060
+ $xeTable.dispatchEvent('cell-backspace-value', delPaqrams, evnt)
5061
+ }
5062
+ }
5063
+ } else if (hasBackspaceKey && keyboardConfig && treeConfig && keyboardOpts.isBack && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
5064
+ // 如果树形表格回退键关闭当前行返回父节点
5065
+ const { parent: parentRow } = XEUtils.findTree(internalData.afterTreeFullData, item => item === currentRow, { children: childrenField })
5066
+ if (parentRow) {
5067
+ evnt.preventDefault()
5068
+ params = {
5069
+ $table: $xeTable,
5070
+ row: parentRow,
5071
+ rowIndex: tableMethods.getRowIndex(parentRow),
5072
+ $rowIndex: tableMethods.getVMRowIndex(parentRow)
5061
5073
  }
5074
+ tableMethods.setTreeExpand(parentRow, false)
5075
+ .then(() => tableMethods.scrollToRow(parentRow))
5076
+ .then(() => tablePrivateMethods.triggerCurrentRowEvent(evnt, params))
5062
5077
  }
5063
5078
  } else if (keyboardConfig && isEnableConf(editConfig) && keyboardOpts.isEdit && !hasCtrlKey && !hasMetaKey && (isSpacebar || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
5064
5079
  const { editMethod } = keyboardOpts