vxe-table 3.12.13 → 3.12.15

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 (64) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/edit/mixin.js +36 -21
  6. package/es/table/module/export/mixin.js +3 -2
  7. package/es/table/module/validator/mixin.js +18 -1
  8. package/es/table/render/index.js +104 -43
  9. package/es/table/src/body.js +1 -0
  10. package/es/table/src/header.js +4 -2
  11. package/es/table/src/methods.js +158 -116
  12. package/es/table/src/table.js +44 -7
  13. package/es/table/style.css +33 -2
  14. package/es/table/style.min.css +1 -1
  15. package/es/ui/index.js +1 -1
  16. package/es/ui/src/log.js +1 -1
  17. package/es/vxe-table/style.css +33 -2
  18. package/es/vxe-table/style.min.css +1 -1
  19. package/lib/index.css +1 -1
  20. package/lib/index.min.css +1 -1
  21. package/lib/index.umd.js +434 -248
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/style.min.css +1 -1
  25. package/lib/table/module/edit/mixin.js +42 -21
  26. package/lib/table/module/edit/mixin.min.js +1 -1
  27. package/lib/table/module/export/mixin.js +3 -2
  28. package/lib/table/module/export/mixin.min.js +1 -1
  29. package/lib/table/module/validator/mixin.js +26 -4
  30. package/lib/table/module/validator/mixin.min.js +1 -1
  31. package/lib/table/render/index.js +109 -41
  32. package/lib/table/render/index.min.js +1 -1
  33. package/lib/table/src/body.js +1 -0
  34. package/lib/table/src/body.min.js +1 -1
  35. package/lib/table/src/header.js +4 -2
  36. package/lib/table/src/header.min.js +1 -1
  37. package/lib/table/src/methods.js +207 -169
  38. package/lib/table/src/methods.min.js +1 -1
  39. package/lib/table/src/table.js +40 -7
  40. package/lib/table/src/table.min.js +1 -1
  41. package/lib/table/style/style.css +33 -2
  42. package/lib/table/style/style.min.css +1 -1
  43. package/lib/ui/index.js +1 -1
  44. package/lib/ui/index.min.js +1 -1
  45. package/lib/ui/src/log.js +1 -1
  46. package/lib/ui/src/log.min.js +1 -1
  47. package/lib/vxe-table/style/style.css +33 -2
  48. package/lib/vxe-table/style/style.min.css +1 -1
  49. package/package.json +2 -2
  50. package/packages/table/module/edit/mixin.ts +42 -21
  51. package/packages/table/module/export/mixin.ts +3 -2
  52. package/packages/table/module/validator/mixin.ts +20 -2
  53. package/packages/table/render/index.ts +120 -51
  54. package/packages/table/src/body.ts +1 -0
  55. package/packages/table/src/header.ts +4 -2
  56. package/packages/table/src/methods.ts +169 -114
  57. package/packages/table/src/table.ts +47 -7
  58. package/styles/components/table.scss +31 -2
  59. /package/es/{iconfont.1739152166680.ttf → iconfont.1739257460253.ttf} +0 -0
  60. /package/es/{iconfont.1739152166680.woff → iconfont.1739257460253.woff} +0 -0
  61. /package/es/{iconfont.1739152166680.woff2 → iconfont.1739257460253.woff2} +0 -0
  62. /package/lib/{iconfont.1739152166680.ttf → iconfont.1739257460253.ttf} +0 -0
  63. /package/lib/{iconfont.1739152166680.woff → iconfont.1739257460253.woff} +0 -0
  64. /package/lib/{iconfont.1739152166680.woff2 → iconfont.1739257460253.woff2} +0 -0
@@ -1065,7 +1065,7 @@ const calcCellHeight = ($xeTable) => {
1065
1065
  reactData.calcCellHeightFlag++;
1066
1066
  }
1067
1067
  };
1068
- function getOrderField(_vm, column) {
1068
+ function getOrderField($xeTable, column) {
1069
1069
  const { sortBy, sortType } = column;
1070
1070
  return (row) => {
1071
1071
  let cellValue;
@@ -1073,7 +1073,7 @@ function getOrderField(_vm, column) {
1073
1073
  cellValue = XEUtils.isFunction(sortBy) ? sortBy({ row, column }) : XEUtils.get(row, sortBy);
1074
1074
  }
1075
1075
  else {
1076
- cellValue = _vm.getCellLabel(row, column);
1076
+ cellValue = $xeTable.getCellLabel(row, column);
1077
1077
  }
1078
1078
  if (!sortType || sortType === 'auto') {
1079
1079
  return isNaN(cellValue) ? cellValue : XEUtils.toNumber(cellValue);
@@ -2887,76 +2887,146 @@ const Methods = {
2887
2887
  */
2888
2888
  updateAfterFullData() {
2889
2889
  const $xeTable = this;
2890
- const { tableFullColumn, tableFullData, filterOpts, sortOpts, treeConfig, treeOpts, tableFullTreeData } = this;
2890
+ const props = $xeTable;
2891
+ const internalData = $xeTable;
2892
+ const { treeConfig } = props;
2893
+ const { tableFullColumn, tableFullData, tableFullTreeData } = internalData;
2894
+ const filterOpts = $xeTable.computeFilterOpts;
2895
+ const sortOpts = $xeTable.computeSortOpts;
2896
+ const treeOpts = $xeTable.computeTreeOpts;
2897
+ const childrenField = treeOpts.children || treeOpts.childrenField;
2898
+ const { transform, rowField, parentField, mapChildrenField } = treeOpts;
2891
2899
  const { remote: allRemoteFilter, filterMethod: allFilterMethod } = filterOpts;
2892
2900
  const { remote: allRemoteSort, sortMethod: allSortMethod, multiple: sortMultiple, chronological } = sortOpts;
2893
- const { transform } = treeOpts;
2894
- const childrenField = treeOpts.children || treeOpts.childrenField;
2895
2901
  let tableData = [];
2896
2902
  let tableTree = [];
2897
- const filterColumns = [];
2898
- let orderColumns = [];
2899
- tableFullColumn.forEach((column) => {
2900
- const { field, sortable, order, filters } = column;
2901
- if (!allRemoteFilter && filters && filters.length) {
2902
- const valueList = [];
2903
- const itemList = [];
2904
- filters.forEach((item) => {
2905
- if (item.checked) {
2906
- itemList.push(item);
2907
- valueList.push(item.value);
2903
+ // 处理数据
2904
+ if (!allRemoteFilter || !allRemoteSort) {
2905
+ const filterColumns = [];
2906
+ let orderColumns = [];
2907
+ tableFullColumn.forEach((column) => {
2908
+ const { field, sortable, order, filters } = column;
2909
+ if (!allRemoteFilter && filters && filters.length) {
2910
+ const valueList = [];
2911
+ const itemList = [];
2912
+ filters.forEach((item) => {
2913
+ if (item.checked) {
2914
+ itemList.push(item);
2915
+ valueList.push(item.value);
2916
+ }
2917
+ });
2918
+ if (itemList.length) {
2919
+ filterColumns.push({ column, valueList, itemList });
2908
2920
  }
2909
- });
2910
- if (itemList.length) {
2911
- filterColumns.push({ column, valueList, itemList });
2912
2921
  }
2913
- }
2914
- if (!allRemoteSort && sortable && order) {
2915
- orderColumns.push({ column, field, property: field, order, sortTime: column.sortTime });
2916
- }
2917
- });
2918
- if (sortMultiple && chronological && orderColumns.length > 1) {
2919
- orderColumns = XEUtils.orderBy(orderColumns, 'sortTime');
2920
- }
2921
- if (filterColumns.length) {
2922
- const handleFilter = (row) => {
2923
- return filterColumns.every(({ column, valueList, itemList }) => {
2924
- if (valueList.length && !allRemoteFilter) {
2925
- const { filterMethod, filterRender, field } = column;
2922
+ if (!allRemoteSort && sortable && order) {
2923
+ orderColumns.push({ column, field, property: field, order: order, sortTime: column.sortTime });
2924
+ }
2925
+ });
2926
+ if (sortMultiple && chronological && orderColumns.length > 1) {
2927
+ orderColumns = XEUtils.orderBy(orderColumns, 'sortTime');
2928
+ }
2929
+ // 处理筛选
2930
+ // 支持单列、多列、组合筛选
2931
+ if (!allRemoteFilter && filterColumns.length) {
2932
+ const handleFilter = (row) => {
2933
+ return filterColumns.every(({ column, valueList, itemList }) => {
2934
+ const { filterMethod, filterRender } = column;
2926
2935
  const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
2927
2936
  const compFilterMethod = compConf ? (compConf.tableFilterMethod || compConf.filterMethod) : null;
2928
2937
  const tdFilterMethod = compConf ? (compConf.tableFilterDefaultMethod || compConf.defaultTableFilterMethod || compConf.defaultFilterMethod) : null;
2929
2938
  const cellValue = getCellValue(row, column);
2930
2939
  if (filterMethod) {
2931
- return itemList.some((item) => filterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }));
2940
+ return itemList.some((item) => filterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xeTable }));
2932
2941
  }
2933
2942
  else if (compFilterMethod) {
2934
- return itemList.some((item) => compFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }));
2943
+ return itemList.some((item) => compFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xeTable }));
2935
2944
  }
2936
2945
  else if (allFilterMethod) {
2937
2946
  return allFilterMethod({ options: itemList, values: valueList, cellValue, row, column });
2938
2947
  }
2939
2948
  else if (tdFilterMethod) {
2940
- return itemList.some((item) => tdFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }));
2949
+ return itemList.some((item) => tdFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xeTable }));
2941
2950
  }
2942
- return valueList.indexOf(XEUtils.get(row, field)) > -1;
2943
- }
2944
- return true;
2945
- });
2946
- };
2947
- if (treeConfig && transform) {
2948
- // 筛选虚拟树
2949
- tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, {
2950
- original: true,
2951
- isEvery: true,
2952
- children: treeOpts.mapChildrenField,
2953
- mapChildren: childrenField
2954
- });
2955
- tableData = tableTree;
2951
+ return valueList.indexOf(XEUtils.get(row, column.field)) > -1;
2952
+ });
2953
+ };
2954
+ if (treeConfig && transform) {
2955
+ // 筛选虚拟树
2956
+ tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, {
2957
+ original: true,
2958
+ isEvery: true,
2959
+ children: mapChildrenField,
2960
+ mapChildren: childrenField
2961
+ });
2962
+ tableData = tableTree;
2963
+ }
2964
+ else {
2965
+ tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter);
2966
+ tableTree = tableData;
2967
+ }
2956
2968
  }
2957
2969
  else {
2958
- tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter);
2959
- tableTree = tableData;
2970
+ if (treeConfig && transform) {
2971
+ // 还原虚拟树
2972
+ tableTree = XEUtils.searchTree(tableFullTreeData, () => true, {
2973
+ original: true,
2974
+ isEvery: true,
2975
+ children: mapChildrenField,
2976
+ mapChildren: childrenField
2977
+ });
2978
+ tableData = tableTree;
2979
+ }
2980
+ else {
2981
+ tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
2982
+ tableTree = tableData;
2983
+ }
2984
+ }
2985
+ // 处理排序(不能用于树形结构)
2986
+ // 支持单列、多列、组合排序
2987
+ if (!allRemoteSort && orderColumns.length) {
2988
+ if (treeConfig && transform) {
2989
+ // 虚拟树和列表一样,只能排序根级节点
2990
+ if (allSortMethod) {
2991
+ const sortRests = allSortMethod({ data: tableTree, sortList: orderColumns, $table: $xeTable });
2992
+ tableTree = XEUtils.isArray(sortRests) ? sortRests : tableTree;
2993
+ }
2994
+ else {
2995
+ const treeList = XEUtils.toTreeArray(tableTree, {
2996
+ children: mapChildrenField
2997
+ });
2998
+ tableTree = XEUtils.toArrayTree(XEUtils.orderBy(treeList, orderColumns.map(({ column, order }) => [getOrderField($xeTable, column), order])), {
2999
+ key: rowField,
3000
+ parentKey: parentField,
3001
+ children: childrenField,
3002
+ mapChildren: mapChildrenField
3003
+ });
3004
+ }
3005
+ tableData = tableTree;
3006
+ }
3007
+ else {
3008
+ if (allSortMethod) {
3009
+ const sortRests = allSortMethod({ data: tableData, sortList: orderColumns, $table: $xeTable });
3010
+ tableData = XEUtils.isArray(sortRests) ? sortRests : tableData;
3011
+ }
3012
+ else {
3013
+ // 兼容 v4
3014
+ if (sortMultiple) {
3015
+ tableData = XEUtils.orderBy(tableData, orderColumns.map(({ column, order }) => [getOrderField(this, column), order]));
3016
+ }
3017
+ else {
3018
+ const firstOrderColumn = orderColumns[0];
3019
+ let sortByConfs;
3020
+ // 已废弃,兼容 v2,在 v4 中废弃, sortBy 不能为数组
3021
+ if (XEUtils.isArray(firstOrderColumn.sortBy)) {
3022
+ sortByConfs = firstOrderColumn.sortBy.map((item) => [item, firstOrderColumn.order]);
3023
+ }
3024
+ tableData = XEUtils.orderBy(tableData, sortByConfs || [firstOrderColumn].map(({ column, order }) => [getOrderField(this, column), order]));
3025
+ }
3026
+ tableData = XEUtils.orderBy(tableData, orderColumns.map(({ column, order }) => [getOrderField($xeTable, column), order]));
3027
+ }
3028
+ tableTree = tableData;
3029
+ }
2960
3030
  }
2961
3031
  }
2962
3032
  else {
@@ -2975,43 +3045,8 @@ const Methods = {
2975
3045
  tableTree = tableData;
2976
3046
  }
2977
3047
  }
2978
- const firstOrderColumn = orderColumns[0];
2979
- if (!allRemoteSort && firstOrderColumn) {
2980
- if (treeConfig && transform) {
2981
- // 虚拟树和列表一样,只能排序根级节点
2982
- if (allSortMethod) {
2983
- const sortRests = allSortMethod({ data: tableTree, sortList: orderColumns, $table: this });
2984
- tableTree = XEUtils.isArray(sortRests) ? sortRests : tableTree;
2985
- }
2986
- else {
2987
- tableTree = XEUtils.orderBy(tableTree, orderColumns.map(({ column, order }) => [getOrderField(this, column), order]));
2988
- }
2989
- tableData = tableTree;
2990
- }
2991
- else {
2992
- if (allSortMethod) {
2993
- const sortRests = allSortMethod({ data: tableData, column: firstOrderColumn.column, property: firstOrderColumn.field, field: firstOrderColumn.field, order: firstOrderColumn.order, sortList: orderColumns, $table: this });
2994
- tableData = XEUtils.isArray(sortRests) ? sortRests : tableData;
2995
- }
2996
- else {
2997
- // 兼容 v4
2998
- if (sortMultiple) {
2999
- tableData = XEUtils.orderBy(tableData, orderColumns.map(({ column, order }) => [getOrderField(this, column), order]));
3000
- }
3001
- else {
3002
- // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
3003
- let sortByConfs;
3004
- if (XEUtils.isArray(firstOrderColumn.sortBy)) {
3005
- sortByConfs = firstOrderColumn.sortBy.map((item) => [item, firstOrderColumn.order]);
3006
- }
3007
- tableData = XEUtils.orderBy(tableData, sortByConfs || [firstOrderColumn].map(({ column, order }) => [getOrderField(this, column), order]));
3008
- }
3009
- }
3010
- tableTree = tableData;
3011
- }
3012
- }
3013
- this.afterFullData = tableData;
3014
- this.afterTreeFullData = tableTree;
3048
+ internalData.afterFullData = tableData;
3049
+ internalData.afterTreeFullData = tableTree;
3015
3050
  updateAfterDataIndex($xeTable);
3016
3051
  },
3017
3052
  /**
@@ -6041,8 +6076,8 @@ const Methods = {
6041
6076
  const $xeTable = this;
6042
6077
  const sortOpts = $xeTable.computeSortOpts;
6043
6078
  const { multiple, allowClear } = sortOpts;
6044
- const { field, sortable, remoteSort } = column;
6045
- if (sortable || remoteSort) {
6079
+ const { field, sortable } = column;
6080
+ if (sortable || column.remoteSort) {
6046
6081
  if (!order || column.order === order) {
6047
6082
  if (allowClear) {
6048
6083
  $xeTable.clearSort(multiple ? column : null);
@@ -6054,6 +6089,34 @@ const Methods = {
6054
6089
  $xeTable.handleColumnSortEvent(evnt, column);
6055
6090
  }
6056
6091
  },
6092
+ handleCellRuleUpdateStatus(type, cellParams, cellValue) {
6093
+ const $xeTable = this;
6094
+ const reactData = $xeTable;
6095
+ const { validStore } = reactData;
6096
+ const { row, column } = cellParams;
6097
+ if ($xeTable.hasCellRules) {
6098
+ if ($xeTable.hasCellRules(type, row, column)) {
6099
+ const cell = $xeTable.getCellElement(row, column);
6100
+ if (cell) {
6101
+ const customVal = !XEUtils.isUndefined(cellValue);
6102
+ return $xeTable.validCellRules(type, row, column, cellValue)
6103
+ .then(() => {
6104
+ if (customVal && validStore.visible) {
6105
+ setCellValue(row, column, cellValue);
6106
+ }
6107
+ $xeTable.clearValidate(row, column);
6108
+ })
6109
+ .catch(({ rule }) => {
6110
+ if (customVal) {
6111
+ setCellValue(row, column, cellValue);
6112
+ }
6113
+ $xeTable.showValidTooltip({ rule, row, column, cell });
6114
+ });
6115
+ }
6116
+ }
6117
+ }
6118
+ return $xeTable.$nextTick();
6119
+ },
6057
6120
  /**
6058
6121
  * 表头单元格按下事件
6059
6122
  */
@@ -8341,33 +8404,12 @@ const Methods = {
8341
8404
  * 如果单元格配置了校验规则,则会进行校验
8342
8405
  */
8343
8406
  updateStatus(slotParams, cellValue) {
8344
- const customVal = !XEUtils.isUndefined(cellValue);
8407
+ const $xeTable = this;
8408
+ const props = $xeTable;
8345
8409
  return this.$nextTick().then(() => {
8346
- const { $refs, editRules, validStore } = this;
8347
- const refTableBody = $refs.refTableBody;
8348
- if (slotParams && refTableBody && editRules) {
8349
- const { row, column } = slotParams;
8350
- const type = 'change';
8351
- if (this.hasCellRules) {
8352
- if (this.hasCellRules(type, row, column)) {
8353
- const cell = this.getCellElement(row, column);
8354
- if (cell) {
8355
- return this.validCellRules(type, row, column, cellValue)
8356
- .then(() => {
8357
- if (customVal && validStore.visible) {
8358
- setCellValue(row, column, cellValue);
8359
- }
8360
- this.clearValidate(row, column);
8361
- })
8362
- .catch(({ rule }) => {
8363
- if (customVal) {
8364
- setCellValue(row, column, cellValue);
8365
- }
8366
- this.showValidTooltip({ rule, row, column, cell });
8367
- });
8368
- }
8369
- }
8370
- }
8410
+ const { editRules } = props;
8411
+ if (slotParams && editRules) {
8412
+ return $xeTable.handleCellRuleUpdateStatus('change', slotParams, cellValue);
8371
8413
  }
8372
8414
  });
8373
8415
  },
@@ -496,7 +496,6 @@ export default {
496
496
  column: null
497
497
  },
498
498
  insertMaps: {},
499
- removeList: [],
500
499
  removeMaps: {}
501
500
  },
502
501
  // 存放 tooltip 相关信息
@@ -554,6 +553,12 @@ export default {
554
553
  isHeader: false,
555
554
  isFooter: false
556
555
  },
556
+ rowHeightStore: {
557
+ default: 48,
558
+ medium: 44,
559
+ small: 40,
560
+ mini: 36
561
+ },
557
562
  scrollVMLoading: false,
558
563
  calcCellHeightFlag: 0,
559
564
  resizeHeightFlag: 0,
@@ -649,12 +654,9 @@ export default {
649
654
  return this.computeRowHeightMaps;
650
655
  },
651
656
  computeRowHeightMaps() {
652
- return {
653
- default: 48,
654
- medium: 44,
655
- small: 40,
656
- mini: 36
657
- };
657
+ const $xeTable = this;
658
+ const reactData = $xeTable;
659
+ return reactData.rowHeightStore;
658
660
  },
659
661
  computeDefaultRowHeight() {
660
662
  const $xeTable = this;
@@ -1365,9 +1367,27 @@ export default {
1365
1367
  mounted() {
1366
1368
  const $xeTable = this;
1367
1369
  const props = $xeTable;
1370
+ const reactData = $xeTable;
1371
+ const { rowHeightStore } = reactData;
1372
+ const varEl = $xeTable.$refs.refVarElem;
1368
1373
  const columnOpts = $xeTable.computeColumnOpts;
1369
1374
  const rowOpts = $xeTable.computeRowOpts;
1370
1375
  const customOpts = $xeTable.computeCustomOpts;
1376
+ if (varEl) {
1377
+ const [defEl, mediumEl, smallEl, miniEl] = varEl.children;
1378
+ if (defEl) {
1379
+ rowHeightStore.default = defEl.clientHeight;
1380
+ }
1381
+ if (mediumEl) {
1382
+ rowHeightStore.medium = mediumEl.clientHeight;
1383
+ }
1384
+ if (smallEl) {
1385
+ rowHeightStore.small = smallEl.clientHeight;
1386
+ }
1387
+ if (miniEl) {
1388
+ rowHeightStore.mini = miniEl.clientHeight;
1389
+ }
1390
+ }
1371
1391
  if (columnOpts.drag || rowOpts.drag || customOpts.allowSort) {
1372
1392
  initTpImg();
1373
1393
  }
@@ -1518,6 +1538,23 @@ export default {
1518
1538
  class: 'vxe-table-slots',
1519
1539
  ref: 'hideColumn'
1520
1540
  }, this.$slots.default),
1541
+ h('div', {
1542
+ ref: 'refVarElem',
1543
+ class: 'vxe-table-vars'
1544
+ }, [
1545
+ h('div', {
1546
+ class: 'vxe-table-var-default'
1547
+ }),
1548
+ h('div', {
1549
+ class: 'vxe-table-var-medium'
1550
+ }),
1551
+ h('div', {
1552
+ class: 'vxe-table-var-small'
1553
+ }),
1554
+ h('div', {
1555
+ class: 'vxe-table-var-mini'
1556
+ })
1557
+ ]),
1521
1558
  h('div', {
1522
1559
  key: 'tw',
1523
1560
  class: 'vxe-table--render-wrapper'
@@ -1682,6 +1682,29 @@
1682
1682
  display: none;
1683
1683
  }
1684
1684
 
1685
+ .vxe-table-vars {
1686
+ height: 0;
1687
+ width: 0;
1688
+ visibility: hidden;
1689
+ overflow: hidden;
1690
+ -webkit-user-select: none;
1691
+ -moz-user-select: none;
1692
+ user-select: none;
1693
+ pointer-events: none;
1694
+ }
1695
+ .vxe-table-vars .vxe-table-var-default {
1696
+ height: var(--vxe-ui-table-row-height-default);
1697
+ }
1698
+ .vxe-table-vars .vxe-table-var-medium {
1699
+ height: var(--vxe-ui-table-row-height-medium);
1700
+ }
1701
+ .vxe-table-vars .vxe-table-var-small {
1702
+ height: var(--vxe-ui-table-row-height-small);
1703
+ }
1704
+ .vxe-table-vars .vxe-table-var-mini {
1705
+ height: var(--vxe-ui-table-row-height-mini);
1706
+ }
1707
+
1685
1708
  .vxe-table--print-frame {
1686
1709
  position: fixed;
1687
1710
  bottom: -100%;
@@ -2638,6 +2661,9 @@
2638
2661
  .vxe-table--render-default.size--medium .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button {
2639
2662
  margin-top: 3px;
2640
2663
  }
2664
+ .vxe-table--render-default.size--medium .vxe-cell--valid-error-tip {
2665
+ padding: 0 var(--vxe-ui-table-cell-padding-medium);
2666
+ }
2641
2667
  .vxe-table--render-default.size--small {
2642
2668
  font-size: var(--vxe-ui-font-size-small);
2643
2669
  }
@@ -2663,6 +2689,9 @@
2663
2689
  .vxe-table--render-default.size--small .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button {
2664
2690
  margin-top: 2px;
2665
2691
  }
2692
+ .vxe-table--render-default.size--small .vxe-cell--valid-error-tip {
2693
+ padding: 0 var(--vxe-ui-table-cell-padding-small);
2694
+ }
2666
2695
  .vxe-table--render-default.size--mini {
2667
2696
  font-size: var(--vxe-ui-font-size-mini);
2668
2697
  }
@@ -2688,6 +2717,9 @@
2688
2717
  .vxe-table--render-default.size--mini .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button {
2689
2718
  margin-top: 1px;
2690
2719
  }
2720
+ .vxe-table--render-default.size--mini .vxe-cell--valid-error-tip {
2721
+ padding: 0 var(--vxe-ui-table-cell-padding-mini);
2722
+ }
2691
2723
  .vxe-table--render-default .vxe-header--column.is--padding .vxe-cell,
2692
2724
  .vxe-table--render-default .vxe-body--column.is--padding .vxe-cell,
2693
2725
  .vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell {
@@ -3265,8 +3297,7 @@
3265
3297
  transform: translateX(-50%);
3266
3298
  text-align: left;
3267
3299
  z-index: 4;
3268
- padding-left: var(--vxe-ui-table-cell-padding-left);
3269
- padding-right: var(--vxe-ui-table-cell-padding-right);
3300
+ padding: 0 var(--vxe-ui-table-cell-padding-default);
3270
3301
  }
3271
3302
  .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-wrapper {
3272
3303
  display: inline-block;