vxe-table 4.10.6-beta.8 → 4.10.6-beta.9

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 (49) 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/src/body.js +40 -27
  6. package/es/table/src/footer.js +4 -4
  7. package/es/table/src/header.js +4 -4
  8. package/es/table/src/table.js +35 -37
  9. package/es/table/style.css +9 -0
  10. package/es/table/style.min.css +1 -1
  11. package/es/ui/index.js +7 -5
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-table/style.css +9 -0
  14. package/es/vxe-table/style.min.css +1 -1
  15. package/lib/index.css +1 -1
  16. package/lib/index.min.css +1 -1
  17. package/lib/index.umd.js +86 -85
  18. package/lib/index.umd.min.js +1 -1
  19. package/lib/style.css +1 -1
  20. package/lib/style.min.css +1 -1
  21. package/lib/table/src/body.js +33 -25
  22. package/lib/table/src/body.min.js +1 -1
  23. package/lib/table/src/footer.js +4 -4
  24. package/lib/table/src/footer.min.js +1 -1
  25. package/lib/table/src/header.js +4 -4
  26. package/lib/table/src/header.min.js +1 -1
  27. package/lib/table/src/table.js +37 -46
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/style/style.css +9 -0
  30. package/lib/table/style/style.min.css +1 -1
  31. package/lib/ui/index.js +7 -5
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/lib/vxe-table/style/style.css +9 -0
  36. package/lib/vxe-table/style/style.min.css +1 -1
  37. package/package.json +1 -1
  38. package/packages/table/src/body.ts +40 -25
  39. package/packages/table/src/footer.ts +4 -4
  40. package/packages/table/src/header.ts +4 -4
  41. package/packages/table/src/table.ts +38 -40
  42. package/packages/ui/index.ts +6 -4
  43. package/styles/components/table.scss +9 -0
  44. /package/es/{iconfont.1736840923205.ttf → iconfont.1736854674495.ttf} +0 -0
  45. /package/es/{iconfont.1736840923205.woff → iconfont.1736854674495.woff} +0 -0
  46. /package/es/{iconfont.1736840923205.woff2 → iconfont.1736854674495.woff2} +0 -0
  47. /package/lib/{iconfont.1736840923205.ttf → iconfont.1736854674495.ttf} +0 -0
  48. /package/lib/{iconfont.1736840923205.woff → iconfont.1736854674495.woff} +0 -0
  49. /package/lib/{iconfont.1736840923205.woff2 → iconfont.1736854674495.woff2} +0 -0
@@ -235,6 +235,29 @@ export default defineComponent({
235
235
  if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
236
236
  isDirty = $xeTable.isUpdateByRow(row, column.field);
237
237
  }
238
+ const isVNAutoHeight = scrollYLoad && !hasEllipsis;
239
+ let cellHeight = 0;
240
+ const vnHeight = isCalcCellHeight ? rest.height : 0;
241
+ if (hasEllipsis) {
242
+ if (customRHeight) {
243
+ cellHeight = customRHeight;
244
+ }
245
+ else if (!isAllOverflow) {
246
+ cellHeight = vnHeight || defaultRowHeight || 18;
247
+ }
248
+ }
249
+ else {
250
+ cellHeight = vnHeight || defaultRowHeight || 18;
251
+ }
252
+ const tcStyle = {};
253
+ if (cellHeight) {
254
+ if (hasEllipsis) {
255
+ tcStyle.maxHeight = `${cellHeight}px`;
256
+ }
257
+ else if (isVNAutoHeight) {
258
+ tcStyle.height = `${cellHeight}px`;
259
+ }
260
+ }
238
261
  const tdVNs = [];
239
262
  if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
240
263
  tdVNs.push(h('div', {
@@ -243,9 +266,7 @@ export default defineComponent({
243
266
  'c--tooltip': showTooltip,
244
267
  'c--ellipsis': showEllipsis
245
268
  }],
246
- style: {
247
- maxHeight: hasEllipsis && (customRHeight || defaultRowHeight) ? `${customRHeight || defaultRowHeight}px` : ''
248
- }
269
+ style: tcStyle
249
270
  }));
250
271
  }
251
272
  else {
@@ -256,11 +277,15 @@ export default defineComponent({
256
277
  'c--tooltip': showTooltip,
257
278
  'c--ellipsis': showEllipsis
258
279
  }],
259
- style: {
260
- maxHeight: hasEllipsis && (customRHeight || defaultRowHeight) ? `${customRHeight || defaultRowHeight}px` : ''
261
- },
280
+ style: tcStyle,
262
281
  title: showTitle ? $xeTable.getCellLabel(row, column) : null
263
- }, column.renderCell(params)));
282
+ }, isVNAutoHeight
283
+ ? [
284
+ h('div', {
285
+ class: 'vxe-cell--auto-wrapper'
286
+ }, column.renderCell(params))
287
+ ]
288
+ : column.renderCell(params)));
264
289
  if (showValidTip && errorValidItem) {
265
290
  const errRule = errorValidItem.rule;
266
291
  const validSlot = slots ? slots.valid : null;
@@ -287,19 +312,6 @@ export default defineComponent({
287
312
  ]));
288
313
  }
289
314
  }
290
- let cellHeight = '';
291
- const vnHeight = isCalcCellHeight ? rest.height : 0;
292
- if (hasEllipsis) {
293
- if (customRHeight) {
294
- cellHeight = `${customRHeight}px`;
295
- }
296
- else if (!isAllOverflow) {
297
- cellHeight = `${vnHeight || defaultRowHeight || 18}px`;
298
- }
299
- }
300
- else {
301
- cellHeight = `${vnHeight || defaultRowHeight || 18}px`;
302
- }
303
315
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
304
316
  if ((!$columnIndex && selectCellToRow === true) ||
305
317
  (selectCellToRow === column.field)) {
@@ -310,12 +322,12 @@ export default defineComponent({
310
322
  }
311
323
  const isLastColumn = $columnIndex === columns.length - 1;
312
324
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
313
- let isPreLoadStatus = false;
314
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex || _rowIndex > scrollYStore.visibleEndIndex)) {
315
- isPreLoadStatus = true;
325
+ let isVNPreEmptyStatus = false;
326
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
327
+ isVNPreEmptyStatus = true;
316
328
  }
317
- else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
318
- isPreLoadStatus = true;
329
+ else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
330
+ isVNPreEmptyStatus = true;
319
331
  }
320
332
  return h('td', Object.assign(Object.assign(Object.assign({ class: [
321
333
  'vxe-body--column',
@@ -328,6 +340,7 @@ export default defineComponent({
328
340
  'col--tree-node': treeNode,
329
341
  'col--edit': isEdit,
330
342
  'col--ellipsis': hasEllipsis,
343
+ 'col--auto-height': isVNAutoHeight,
331
344
  'fixed--width': !isAutoCellWidth,
332
345
  'fixed--hidden': fixedHiddenColumn,
333
346
  'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
@@ -341,8 +354,8 @@ export default defineComponent({
341
354
  getPropClass(className, params),
342
355
  getPropClass(allCellClassName, params)
343
356
  ], key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? colid : $columnIndex }, attrs), { style: Object.assign({
344
- height: cellHeight
345
- }, XEUtils.isFunction(compCellStyle) ? compCellStyle(params) : compCellStyle, XEUtils.isFunction(cellStyle) ? cellStyle(params) : cellStyle) }), tdOns), isPreLoadStatus || (isOptimizeMode && fixedHiddenColumn) ? [] : tdVNs);
357
+ height: cellHeight ? `${cellHeight}px` : ''
358
+ }, XEUtils.isFunction(compCellStyle) ? compCellStyle(params) : compCellStyle, XEUtils.isFunction(cellStyle) ? cellStyle(params) : cellStyle) }), tdOns), isVNPreEmptyStatus || (isOptimizeMode && fixedHiddenColumn) ? [] : tdVNs);
346
359
  };
347
360
  const renderRows = (fixedType, isOptimizeMode, tableData, tableColumn) => {
348
361
  const { stripe, rowKey, highlightHoverRow, rowClassName, rowStyle, showOverflow: allColumnOverflow, editConfig, treeConfig } = tableProps;
@@ -147,9 +147,9 @@ export default defineComponent({
147
147
  }
148
148
  const isLastColumn = $columnIndex === tableColumn.length - 1;
149
149
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
150
- let isPreLoadStatus = false;
151
- if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
152
- isPreLoadStatus = true;
150
+ let isVNPreEmptyStatus = false;
151
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
152
+ isVNPreEmptyStatus = true;
153
153
  }
154
154
  return h('td', Object.assign(Object.assign(Object.assign(Object.assign({ class: ['vxe-footer--column', column.id, {
155
155
  [`col--${footAlign}`]: footAlign,
@@ -166,7 +166,7 @@ export default defineComponent({
166
166
  'c--tooltip': showTooltip,
167
167
  'c--ellipsis': showEllipsis
168
168
  }]
169
- }, isPreLoadStatus ? [] : column.renderFooter(cellParams))
169
+ }, isVNPreEmptyStatus ? [] : column.renderFooter(cellParams))
170
170
  ]);
171
171
  });
172
172
  };
@@ -233,9 +233,9 @@ export default defineComponent({
233
233
  const isLastColumn = $columnIndex === cols.length - 1;
234
234
  const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
235
235
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
236
- let isPreLoadStatus = false;
237
- if (scrollXLoad && !isGroup && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
238
- isPreLoadStatus = true;
236
+ let isVNPreEmptyStatus = false;
237
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
238
+ isVNPreEmptyStatus = true;
239
239
  }
240
240
  return h('th', Object.assign(Object.assign(Object.assign({ class: ['vxe-header--column', colid, {
241
241
  [`col--${headAlign}`]: headAlign,
@@ -262,7 +262,7 @@ export default defineComponent({
262
262
  'c--tooltip': showTooltip,
263
263
  'c--ellipsis': showEllipsis
264
264
  }]
265
- }, isPreLoadStatus || (isOptimizeMode && fixedHiddenColumn) ? [] : column.renderHeader(params)),
265
+ }, isVNPreEmptyStatus || (isOptimizeMode && fixedHiddenColumn) ? [] : column.renderHeader(params)),
266
266
  /**
267
267
  * 列宽拖动
268
268
  */
@@ -827,35 +827,42 @@ export default defineComponent({
827
827
  return { toVisibleIndex: 0, visibleSize: 6 };
828
828
  };
829
829
  const computeRowHeight = () => {
830
+ const { showOverflow } = props;
830
831
  const tableHeader = refTableHeader.value;
831
832
  const tableBody = refTableBody.value;
832
833
  const tableBodyElem = tableBody ? tableBody.$el : null;
833
834
  const defaultRowHeight = computeDefaultRowHeight.value;
834
835
  let rowHeight = 0;
835
- if (tableBodyElem) {
836
- const tableHeaderElem = tableHeader ? tableHeader.$el : null;
837
- let firstTrElem;
838
- firstTrElem = tableBodyElem.querySelector('tr');
839
- if (!firstTrElem && tableHeaderElem) {
840
- firstTrElem = tableHeaderElem.querySelector('tr');
836
+ if (showOverflow) {
837
+ if (tableBodyElem) {
838
+ const tableHeaderElem = tableHeader ? tableHeader.$el : null;
839
+ let firstTrElem;
840
+ firstTrElem = tableBodyElem.querySelector('tr');
841
+ if (!firstTrElem && tableHeaderElem) {
842
+ firstTrElem = tableHeaderElem.querySelector('tr');
843
+ }
844
+ if (firstTrElem) {
845
+ rowHeight = firstTrElem.clientHeight;
846
+ }
841
847
  }
842
- if (firstTrElem) {
843
- rowHeight = firstTrElem.clientHeight;
848
+ if (!rowHeight) {
849
+ rowHeight = defaultRowHeight;
844
850
  }
845
851
  }
846
- if (!rowHeight) {
852
+ else {
847
853
  rowHeight = defaultRowHeight;
848
854
  }
849
855
  // 最低支持 18px 行高
850
856
  return Math.max(18, rowHeight);
851
857
  };
852
- const handleVirtualYVisible = () => {
858
+ const handleVirtualYVisible = (currScrollTop) => {
853
859
  const { showOverflow } = props;
854
860
  const { rowHeight } = reactData;
855
861
  const { elemStore, afterFullData, fullAllDataRowIdData } = internalData;
856
862
  const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
857
863
  if (bodyScrollElem) {
858
- const { scrollTop, clientHeight } = bodyScrollElem;
864
+ const clientHeight = bodyScrollElem.clientHeight;
865
+ const scrollTop = XEUtils.isNumber(currScrollTop) ? currScrollTop : bodyScrollElem.scrollTop;
859
866
  const endHeight = scrollTop + clientHeight;
860
867
  let toVisibleIndex = -1;
861
868
  let offsetTop = 0;
@@ -1407,7 +1414,7 @@ export default defineComponent({
1407
1414
  tableData.forEach(row => {
1408
1415
  const rowid = getRowid($xeTable, row);
1409
1416
  const rowRest = fullAllDataRowIdData[rowid];
1410
- const cellList = el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]>.vxe-body--column>.vxe-cell`);
1417
+ const cellList = el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]>.vxe-body--column>.vxe-cell>.vxe-cell--auto-wrapper`);
1411
1418
  if (rowRest && cellList.length) {
1412
1419
  let height = 0;
1413
1420
  for (let i = 0; i < cellList.length; i++) {
@@ -2476,13 +2483,13 @@ export default defineComponent({
2476
2483
  return nextTick().then(() => {
2477
2484
  const { scrollXLoad, scrollYLoad } = reactData;
2478
2485
  const { scrollXStore, scrollYStore } = internalData;
2479
- const sYOpts = computeSYOpts.value;
2480
- const sXOpts = computeSXOpts.value;
2486
+ const virtualYOpts = computeVirtualYOpts.value;
2487
+ const virtualXOpts = computeVirtualXOpts.value;
2481
2488
  // 计算 X 逻辑
2482
2489
  if (scrollXLoad) {
2483
2490
  const { toVisibleIndex: toXVisibleIndex, visibleSize: visibleXSize } = handleVirtualXVisible();
2484
- const offsetXSize = Math.max(0, sXOpts.oSize ? XEUtils.toNumber(sXOpts.oSize) : 0);
2485
- scrollXStore.preloadSize = 4;
2491
+ const offsetXSize = Math.max(0, virtualXOpts.oSize ? XEUtils.toNumber(virtualXOpts.oSize) : 0);
2492
+ scrollXStore.preloadSize = XEUtils.toNumber(virtualXOpts.preSize);
2486
2493
  scrollXStore.offsetSize = offsetXSize;
2487
2494
  scrollXStore.visibleSize = visibleXSize;
2488
2495
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
@@ -2495,15 +2502,14 @@ export default defineComponent({
2495
2502
  else {
2496
2503
  $xeTable.updateScrollXSpace();
2497
2504
  }
2498
- calcCellHeight();
2499
2505
  // 计算 Y 逻辑
2500
2506
  const rowHeight = computeRowHeight();
2501
2507
  scrollYStore.rowHeight = rowHeight;
2502
2508
  reactData.rowHeight = rowHeight;
2503
2509
  const { toVisibleIndex: toYVisibleIndex, visibleSize: visibleYSize } = handleVirtualYVisible();
2504
2510
  if (scrollYLoad) {
2505
- const offsetYSize = Math.max(0, sYOpts.oSize ? XEUtils.toNumber(sYOpts.oSize) : 0);
2506
- scrollYStore.preloadSize = 2;
2511
+ const offsetYSize = Math.max(0, virtualYOpts.oSize ? XEUtils.toNumber(virtualYOpts.oSize) : 0);
2512
+ scrollYStore.preloadSize = XEUtils.toNumber(virtualYOpts.preSize);
2507
2513
  scrollYStore.offsetSize = offsetYSize;
2508
2514
  scrollYStore.visibleSize = visibleYSize;
2509
2515
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
@@ -2533,7 +2539,6 @@ export default defineComponent({
2533
2539
  return computeScrollLoad().then(() => {
2534
2540
  if (reFull === true) {
2535
2541
  // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
2536
- calcCellHeight();
2537
2542
  calcCellWidth();
2538
2543
  autoCellWidth();
2539
2544
  updateStyle();
@@ -2668,6 +2673,7 @@ export default defineComponent({
2668
2673
  if (sYOpts.scrollToTopOnChange) {
2669
2674
  targetScrollTop = 0;
2670
2675
  }
2676
+ calcCellHeight();
2671
2677
  // 是否变更虚拟滚动
2672
2678
  if (oldScrollYLoad === sYLoad) {
2673
2679
  restoreScrollLocation($xeTable, targetScrollLeft, targetScrollTop)
@@ -3046,13 +3052,13 @@ export default defineComponent({
3046
3052
  /**
3047
3053
  * 纵向 Y 可视渲染处理
3048
3054
  */
3049
- const loadScrollYData = () => {
3055
+ const loadScrollYData = (scrollTop) => {
3050
3056
  const { showOverflow } = props;
3051
3057
  const { mergeList } = reactData;
3052
3058
  const { scrollYStore } = internalData;
3053
3059
  const { preloadSize, startIndex, endIndex, offsetSize } = scrollYStore;
3054
3060
  const autoOffsetYSize = showOverflow ? offsetSize : offsetSize + 1;
3055
- const { toVisibleIndex, visibleSize } = handleVirtualYVisible();
3061
+ const { toVisibleIndex, visibleSize } = handleVirtualYVisible(scrollTop);
3056
3062
  const offsetItem = {
3057
3063
  startIndex: Math.max(0, toVisibleIndex - 1 - offsetSize - preloadSize),
3058
3064
  endIndex: toVisibleIndex + visibleSize + autoOffsetYSize + preloadSize
@@ -3112,10 +3118,8 @@ export default defineComponent({
3112
3118
  }, fpsTime);
3113
3119
  };
3114
3120
  const lazyScrollYData = () => {
3115
- const { showOverflow } = props;
3116
- const { lyTimeout, lyRunTime, scrollYStore } = internalData;
3117
- const { visibleSize } = scrollYStore;
3118
- const fpsTime = showOverflow ? 5 : Math.max(5, Math.min(80, Math.floor(visibleSize / 2)));
3121
+ const { lyTimeout, lyRunTime } = internalData;
3122
+ const fpsTime = Math.floor(Math.max(4, Math.min(10, 20 / 3)));
3119
3123
  if (lyTimeout) {
3120
3124
  clearTimeout(lyTimeout);
3121
3125
  }
@@ -3144,16 +3148,14 @@ export default defineComponent({
3144
3148
  internalData.inBodyScroll = false;
3145
3149
  internalData.inFooterScroll = false;
3146
3150
  internalData.scrollRenderType = '';
3151
+ calcCellHeight();
3147
3152
  if (isRollX && scrollXLoad) {
3148
- $xeTable.updateScrollXData().then(() => {
3149
- calcCellHeight();
3150
- loadScrollXData();
3151
- });
3153
+ $xeTable.updateScrollXData();
3152
3154
  }
3153
3155
  if (isRollY && scrollYLoad) {
3154
3156
  $xeTable.updateScrollYData().then(() => {
3155
3157
  calcCellHeight();
3156
- loadScrollYData();
3158
+ $xeTable.updateScrollYSpace();
3157
3159
  });
3158
3160
  }
3159
3161
  $xeTable.updateCellAreas();
@@ -8262,9 +8264,9 @@ export default defineComponent({
8262
8264
  setScrollTop(bodyScrollElem, scrollTop);
8263
8265
  setScrollTop(leftScrollElem, scrollTop);
8264
8266
  setScrollTop(rightScrollElem, scrollTop);
8265
- $xeTable.triggerScrollYEvent(evnt);
8267
+ loadScrollYData(scrollTop);
8266
8268
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
8267
- type: 'footer',
8269
+ type: 'table',
8268
8270
  fixed: ''
8269
8271
  });
8270
8272
  }
@@ -8464,9 +8466,7 @@ export default defineComponent({
8464
8466
  updateScrollXData() {
8465
8467
  const { showOverflow } = props;
8466
8468
  handleTableColumn();
8467
- // calcCellHeight()
8468
8469
  return nextTick().then(() => {
8469
- // calcCellHeight()
8470
8470
  handleTableColumn();
8471
8471
  $xeTable.updateScrollXSpace();
8472
8472
  if (!showOverflow) {
@@ -8476,9 +8476,7 @@ export default defineComponent({
8476
8476
  },
8477
8477
  updateScrollYData() {
8478
8478
  $xeTable.handleTableData();
8479
- // calcCellHeight()
8480
8479
  return nextTick().then(() => {
8481
- // calcCellHeight()
8482
8480
  $xeTable.handleTableData();
8483
8481
  $xeTable.updateScrollYSpace();
8484
8482
  });
@@ -2901,6 +2901,15 @@
2901
2901
  text-overflow: ellipsis;
2902
2902
  white-space: nowrap;
2903
2903
  }
2904
+ .vxe-table--render-default .vxe-body--column.col--auto-height {
2905
+ overflow: hidden;
2906
+ }
2907
+ .vxe-table--render-default .vxe-body--column.col--auto-height > .vxe-cell {
2908
+ display: flex;
2909
+ flex-direction: row;
2910
+ align-items: center;
2911
+ overflow: hidden;
2912
+ }
2904
2913
  .vxe-table--render-default .vxe-table--expanded {
2905
2914
  cursor: pointer;
2906
2915
  }