vxe-table 4.7.30 → 4.7.32

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.32",
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.30"
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',
@@ -2829,6 +2829,9 @@ export default defineComponent({
2829
2829
  }
2830
2830
  return nextTick()
2831
2831
  },
2832
+ getParams () {
2833
+ return props.params
2834
+ },
2832
2835
  /**
2833
2836
  * 用于树结构,给行数据加载子节点
2834
2837
  */
@@ -4876,7 +4879,7 @@ export default defineComponent({
4876
4879
  const childrenField = treeOpts.children || treeOpts.childrenField
4877
4880
  const keyCode = evnt.keyCode
4878
4881
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
4879
- const isBack = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE)
4882
+ const hasBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE)
4880
4883
  const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB)
4881
4884
  const isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER)
4882
4885
  const isSpacebar = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR)
@@ -4884,7 +4887,7 @@ export default defineComponent({
4884
4887
  const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)
4885
4888
  const isRightArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_RIGHT)
4886
4889
  const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)
4887
- const isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE)
4890
+ const hasDeleteKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE)
4888
4891
  const isF2 = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.F2)
4889
4892
  const isContextMenu = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.CONTEXT_MENU)
4890
4893
  const hasMetaKey = evnt.metaKey
@@ -5009,11 +5012,31 @@ export default defineComponent({
5009
5012
  } else if (actived.row || actived.column) {
5010
5013
  $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt)
5011
5014
  }
5012
- } else if (keyboardConfig && isEnableConf(editConfig) && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
5015
+ } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selected.column)) {
5016
+ // 如果是删除键
5017
+ if (!isEditStatus) {
5018
+ const { delMethod } = keyboardOpts
5019
+ const delPaqrams = {
5020
+ row: selected.row,
5021
+ rowIndex: tableMethods.getRowIndex(selected.row),
5022
+ column: selected.column,
5023
+ columnIndex: tableMethods.getColumnIndex(selected.column),
5024
+ $table: $xeTable
5025
+ }
5026
+ if (delMethod) {
5027
+ delMethod(delPaqrams)
5028
+ } else {
5029
+ setCellValue(selected.row, selected.column, null)
5030
+ }
5031
+ // 如果按下 del 键,更新表尾数据
5032
+ tableMethods.updateFooter()
5033
+ $xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt)
5034
+ }
5035
+ } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selected.row || selected.column)) {
5013
5036
  if (!isEditStatus) {
5014
5037
  const { delMethod, backMethod } = keyboardOpts
5015
5038
  // 如果是删除键
5016
- if (keyboardOpts.isDel && (selected.row || selected.column)) {
5039
+ if (keyboardOpts.isDel && isEnableConf(editConfig) && (selected.row || selected.column)) {
5017
5040
  const delPaqrams = {
5018
5041
  row: selected.row,
5019
5042
  rowIndex: tableMethods.getRowIndex(selected.row),
@@ -5026,39 +5049,34 @@ export default defineComponent({
5026
5049
  } else {
5027
5050
  setCellValue(selected.row, selected.column, null)
5028
5051
  }
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))
5052
+ if (backMethod) {
5053
+ backMethod({
5054
+ row: selected.row,
5055
+ rowIndex: tableMethods.getRowIndex(selected.row),
5056
+ column: selected.column,
5057
+ columnIndex: tableMethods.getColumnIndex(selected.column),
5058
+ $table: $xeTable
5059
+ })
5060
+ } else {
5061
+ $xeTable.handleActived(selected.args, evnt)
5060
5062
  }
5063
+ $xeTable.dispatchEvent('cell-backspace-value', delPaqrams, evnt)
5064
+ }
5065
+ }
5066
+ } else if (hasBackspaceKey && keyboardConfig && treeConfig && keyboardOpts.isBack && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
5067
+ // 如果树形表格回退键关闭当前行返回父节点
5068
+ const { parent: parentRow } = XEUtils.findTree(internalData.afterTreeFullData, item => item === currentRow, { children: childrenField })
5069
+ if (parentRow) {
5070
+ evnt.preventDefault()
5071
+ params = {
5072
+ $table: $xeTable,
5073
+ row: parentRow,
5074
+ rowIndex: tableMethods.getRowIndex(parentRow),
5075
+ $rowIndex: tableMethods.getVMRowIndex(parentRow)
5061
5076
  }
5077
+ tableMethods.setTreeExpand(parentRow, false)
5078
+ .then(() => tableMethods.scrollToRow(parentRow))
5079
+ .then(() => tablePrivateMethods.triggerCurrentRowEvent(evnt, params))
5062
5080
  }
5063
5081
  } 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
5082
  const { editMethod } = keyboardOpts
@@ -1,5 +1,3 @@
1
- $vxe-ui-status-error-color: #f56c6c;
2
-
3
1
  :root {
4
2
  /*font*/
5
3
  --vxe-ui-font-family: -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
@@ -3,12 +3,10 @@
3
3
  [data-vxe-ui-theme="dark"] {
4
4
  color-scheme: dark;
5
5
 
6
- $vxe-ui-font-color: #a0a3a7;
7
-
8
6
  /*font*/
9
- --vxe-ui-font-color: #{$vxe-ui-font-color};
10
- --vxe-ui-font-lighten-color: #{lighten($vxe-ui-font-color, 10%)};
11
- --vxe-ui-font-darken-color: #{darken($vxe-ui-font-color, 10%)};
7
+ --vxe-ui-font-color: #a0a3a7;
8
+ --vxe-ui-font-lighten-color: #babdc0;
9
+ --vxe-ui-font-darken-color: #86898e;
12
10
 
13
11
  /*base*/
14
12
  --vxe-ui-base-popup-border-color: var(--vxe-ui-layout-background-color);
@@ -1,12 +1,10 @@
1
1
  @import './base.scss';
2
2
 
3
3
  [data-vxe-ui-theme="light"] {
4
- $vxe-ui-font-color: #606266;
5
-
6
4
  /*font*/
7
- --vxe-ui-font-color: #{$vxe-ui-font-color};
8
- --vxe-ui-font-lighten-color: #{lighten($vxe-ui-font-color, 10%)};
9
- --vxe-ui-font-darken-color: #{darken($vxe-ui-font-color, 10%)};
5
+ --vxe-ui-font-color: #606266;
6
+ --vxe-ui-font-lighten-color: #797b80;
7
+ --vxe-ui-font-darken-color: #47494c;
10
8
 
11
9
  /*base*/
12
10
  --vxe-ui-base-popup-border-color: #DADCE0;