vxe-table 3.11.38 → 3.12.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 (57) 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/render/index.js +47 -12
  6. package/es/table/src/body.js +81 -35
  7. package/es/table/src/footer.js +54 -18
  8. package/es/table/src/header.js +58 -10
  9. package/es/table/src/methods.js +159 -118
  10. package/es/table/src/table.js +5 -13
  11. package/es/table/style.css +3 -5
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +5 -3
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-table/style.css +3 -5
  16. package/es/vxe-table/style.min.css +1 -1
  17. package/lib/index.css +1 -1
  18. package/lib/index.min.css +1 -1
  19. package/lib/index.umd.js +464 -272
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/style.css +1 -1
  22. package/lib/style.min.css +1 -1
  23. package/lib/table/render/index.js +47 -12
  24. package/lib/table/render/index.min.js +1 -1
  25. package/lib/table/src/body.js +101 -56
  26. package/lib/table/src/body.min.js +1 -1
  27. package/lib/table/src/footer.js +67 -30
  28. package/lib/table/src/footer.min.js +1 -1
  29. package/lib/table/src/header.js +71 -18
  30. package/lib/table/src/header.min.js +1 -1
  31. package/lib/table/src/methods.js +167 -137
  32. package/lib/table/src/methods.min.js +1 -1
  33. package/lib/table/src/table.js +5 -15
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/style/style.css +3 -5
  36. package/lib/table/style/style.min.css +1 -1
  37. package/lib/ui/index.js +5 -3
  38. package/lib/ui/index.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/lib/vxe-table/style/style.css +3 -5
  42. package/lib/vxe-table/style/style.min.css +1 -1
  43. package/package.json +2 -2
  44. package/packages/table/render/index.ts +48 -12
  45. package/packages/table/src/body.ts +84 -35
  46. package/packages/table/src/footer.ts +58 -18
  47. package/packages/table/src/header.ts +62 -11
  48. package/packages/table/src/methods.ts +163 -126
  49. package/packages/table/src/table.ts +6 -15
  50. package/packages/ui/index.ts +4 -2
  51. package/styles/components/table.scss +1 -3
  52. /package/es/{iconfont.1735003904481.ttf → iconfont.1735106128767.ttf} +0 -0
  53. /package/es/{iconfont.1735003904481.woff → iconfont.1735106128767.woff} +0 -0
  54. /package/es/{iconfont.1735003904481.woff2 → iconfont.1735106128767.woff2} +0 -0
  55. /package/lib/{iconfont.1735003904481.ttf → iconfont.1735106128767.ttf} +0 -0
  56. /package/lib/{iconfont.1735003904481.woff → iconfont.1735106128767.woff} +0 -0
  57. /package/lib/{iconfont.1735003904481.woff2 → iconfont.1735106128767.woff2} +0 -0
@@ -352,15 +352,9 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
352
352
  }
353
353
  // 拖拽行事件
354
354
  if (rowOpts.drag && (!treeConfig || transform)) {
355
- trOn.dragstart = (evnt) => {
356
- $xeTable.handleRowDragDragstartEvent(evnt);
357
- };
358
- trOn.dragover = (evnt) => {
359
- $xeTable.handleRowDragDragoverEvent(evnt);
360
- };
361
- trOn.dragend = (evnt) => {
362
- $xeTable.handleRowDragDragendEvent(evnt);
363
- };
355
+ trOn.dragstart = $xeTable.handleRowDragDragstartEvent;
356
+ trOn.dragend = $xeTable.handleRowDragDragendEvent;
357
+ trOn.dragover = $xeTable.handleRowDragDragoverEvent;
364
358
  }
365
359
  const trClass = [
366
360
  'vxe-body--row',
@@ -498,46 +492,98 @@ export default {
498
492
  elemStore[`${prefix}emptyBlock`] = null;
499
493
  },
500
494
  render(h) {
495
+ const props = this;
501
496
  const $xeTable = this.$parent;
502
- const { _e, $parent: $xetable, fixedColumn, fixedType } = this;
497
+ const tableProps = $xeTable;
498
+ const tableReactData = $xeTable;
499
+ const tableInternalData = $xeTable;
500
+ const { tId, $scopedSlots } = $xeTable;
501
+ const { fixedColumn, fixedType, tableColumn } = props;
502
+ const { showOverflow: allColumnOverflow, spanMethod, footerSpanMethod, mouseConfig } = tableProps;
503
+ const { tableData, scrollXLoad, scrollYLoad, isAllOverflow, isDragRowMove, expandColumn, dragRow, dragCol } = tableReactData;
504
+ const { visibleColumn, fullAllDataRowIdData, fullColumnIdData } = tableInternalData;
503
505
  const rowOpts = $xeTable.computeRowOpts;
506
+ const sYOpts = $xeTable.computeSYOpts;
507
+ const emptyOpts = $xeTable.computeEmptyOpts;
508
+ const mouseOpts = $xeTable.computeMouseOpts;
504
509
  const rowDragOpts = $xeTable.computeRowDragOpts;
505
- let { $scopedSlots, tId, tableData, tableColumn, visibleColumn, expandColumn, showOverflow: allColumnOverflow, keyboardConfig, keyboardOpts, mergeList, spanMethod, scrollXLoad, scrollYLoad, isAllOverflow, emptyOpts, mouseConfig, mouseOpts, sYOpts, isDragRowMove } = $xetable;
506
- // 如果是使用优化模式
510
+ let renderDataList = tableData;
511
+ let renderColumnList = tableColumn;
507
512
  if (fixedType) {
508
- // 如果存在展开行使用全量渲染
509
- if (!expandColumn && (scrollXLoad || scrollYLoad || (allColumnOverflow ? isAllOverflow : allColumnOverflow))) {
510
- if (!mergeList.length && !spanMethod && !(keyboardConfig && keyboardOpts.isMerge)) {
511
- tableColumn = fixedColumn;
513
+ // 如果是使用优化模式
514
+ if (scrollXLoad || scrollYLoad || (allColumnOverflow && isAllOverflow)) {
515
+ // 如果不支持优化模式
516
+ if (expandColumn || spanMethod || footerSpanMethod) {
517
+ renderColumnList = visibleColumn;
512
518
  }
513
519
  else {
514
- tableColumn = visibleColumn;
515
- // 检查固定列是否被合并,合并范围是否超出固定列
516
- // if (mergeList.length && !isMergeLeftFixedExceeded && fixedType === 'left') {
517
- // tableColumn = fixedColumn
518
- // } else if (mergeList.length && !isMergeRightFixedExceeded && fixedType === 'right') {
519
- // tableColumn = fixedColumn
520
- // } else {
521
- // tableColumn = visibleColumn
522
- // }
520
+ renderColumnList = fixedColumn || [];
523
521
  }
524
522
  }
525
523
  else {
526
- tableColumn = visibleColumn;
524
+ renderColumnList = visibleColumn;
525
+ }
526
+ }
527
+ // 行拖拽
528
+ if (scrollYLoad && dragRow) {
529
+ if (renderDataList.length > 2) {
530
+ const dRowRest = fullAllDataRowIdData[getRowid($xeTable, dragRow)];
531
+ if (dRowRest) {
532
+ const drIndex = dRowRest._index;
533
+ const firstRow = renderDataList[0];
534
+ const lastRow = renderDataList[renderDataList.length - 1];
535
+ const firstRowRest = fullAllDataRowIdData[getRowid($xeTable, firstRow)];
536
+ const lastRowRest = fullAllDataRowIdData[getRowid($xeTable, lastRow)];
537
+ if (firstRowRest && lastRowRest) {
538
+ const frIndex = firstRowRest._index;
539
+ const lrIndex = lastRowRest._index;
540
+ if (drIndex < frIndex) {
541
+ renderDataList = [dragRow].concat(renderDataList);
542
+ }
543
+ else if (drIndex > lrIndex) {
544
+ renderDataList = renderDataList.concat([dragRow]);
545
+ }
546
+ }
547
+ }
548
+ }
549
+ }
550
+ if (!fixedType) {
551
+ // 列拖拽
552
+ if (scrollXLoad && dragCol) {
553
+ if (renderColumnList.length > 2) {
554
+ const dCowRest = fullColumnIdData[dragCol.id];
555
+ if (dCowRest) {
556
+ const dcIndex = dCowRest._index;
557
+ const firstCol = renderColumnList[0];
558
+ const lastCol = renderColumnList[renderColumnList.length - 1];
559
+ const firstColRest = fullColumnIdData[firstCol.id];
560
+ const lastColRest = fullColumnIdData[lastCol.id];
561
+ if (firstColRest && lastColRest) {
562
+ const fcIndex = firstColRest._index;
563
+ const lcIndex = lastColRest._index;
564
+ if (dcIndex < fcIndex) {
565
+ renderColumnList = [dragCol].concat(renderColumnList);
566
+ }
567
+ else if (dcIndex > lcIndex) {
568
+ renderColumnList = renderColumnList.concat([dragCol]);
569
+ }
570
+ }
571
+ }
572
+ }
527
573
  }
528
574
  }
529
575
  let emptyContent;
530
576
  if ($scopedSlots.empty) {
531
- emptyContent = $scopedSlots.empty.call(this, { $table: $xetable }, h);
577
+ emptyContent = $scopedSlots.empty.call(this, { $table: $xeTable, $grid: $xeTable.xegrid }, h);
532
578
  }
533
579
  else {
534
580
  const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
535
581
  const rtEmptyView = compConf ? (compConf.renderTableEmpty || compConf.renderTableEmptyView || compConf.renderEmpty) : null;
536
582
  if (rtEmptyView) {
537
- emptyContent = getSlotVNs(rtEmptyView.call(this, h, emptyOpts, { $table: $xetable }));
583
+ emptyContent = getSlotVNs(rtEmptyView.call(this, h, emptyOpts, { $table: $xeTable }));
538
584
  }
539
585
  else {
540
- emptyContent = $xetable.emptyText || getI18n('vxe.table.emptyText');
586
+ emptyContent = tableProps.emptyText || getI18n('vxe.table.emptyText');
541
587
  }
542
588
  }
543
589
  const ons = {
@@ -555,7 +601,7 @@ export default {
555
601
  on: ons
556
602
  }, [
557
603
  fixedType
558
- ? _e()
604
+ ? renderEmptyElement($xeTable)
559
605
  : h('div', {
560
606
  class: 'vxe-body--x-space',
561
607
  ref: 'xSpace'
@@ -579,7 +625,7 @@ export default {
579
625
  */
580
626
  h('colgroup', {
581
627
  ref: 'colgroup'
582
- }, tableColumn.map((column, $columnIndex) => {
628
+ }, renderColumnList.map((column, $columnIndex) => {
583
629
  return h('col', {
584
630
  attrs: {
585
631
  name: column.id
@@ -596,10 +642,10 @@ export default {
596
642
  tag: 'tbody',
597
643
  name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`
598
644
  }
599
- }, renderRows(h, this, $xetable, fixedType, tableData, tableColumn))
645
+ }, renderRows(h, this, $xeTable, fixedType, renderDataList, renderColumnList))
600
646
  : h('tbody', {
601
647
  ref: 'tbody'
602
- }, renderRows(h, this, $xetable, fixedType, tableData, tableColumn))
648
+ }, renderRows(h, this, $xeTable, fixedType, renderDataList, renderColumnList))
603
649
  ]),
604
650
  h('div', {
605
651
  class: 'vxe-table--checkbox-range'
@@ -616,8 +662,8 @@ export default {
616
662
  class: 'vxe-table--cell-main-area-btn',
617
663
  on: {
618
664
  mousedown(evnt) {
619
- if ($xetable.triggerCellAreaExtendMousedownEvent) {
620
- $xetable.triggerCellAreaExtendMousedownEvent(evnt, { $table: $xetable, fixed: fixedType, type: renderType });
665
+ if ($xeTable.triggerCellAreaExtendMousedownEvent) {
666
+ $xeTable.triggerCellAreaExtendMousedownEvent(evnt, { $table: $xeTable, fixed: fixedType, type: renderType });
621
667
  }
622
668
  }
623
669
  }
@@ -3,7 +3,7 @@ import { VxeUI } from '../../ui';
3
3
  import { getClass } from '../../ui/src/utils';
4
4
  import { updateCellTitle, setScrollLeft } from '../../ui/src/dom';
5
5
  const renderType = 'footer';
6
- const { renderer } = VxeUI;
6
+ const { renderer, renderEmptyElement } = VxeUI;
7
7
  function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
8
8
  for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
9
9
  const { row: mergeRowIndex, col: mergeColIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeFooterList[mIndex];
@@ -147,15 +147,16 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
147
147
  ]
148
148
  : []);
149
149
  }
150
- function renderHeads(h, _vm, footerTableData) {
150
+ function renderHeads(h, _vm, renderColumnList) {
151
151
  const $xeTable = _vm.$parent;
152
+ const props = _vm;
152
153
  const columnOpts = $xeTable.computeColumnOpts;
153
154
  const columnDragOpts = $xeTable.computeColumnDragOpts;
154
- const { $parent: $xetable, fixedType, tableColumn } = _vm;
155
- const { footerRowClassName, footerRowStyle, isDragColMove } = $xetable;
155
+ const { fixedType, footerTableData } = props;
156
+ const { footerRowClassName, footerRowStyle, isDragColMove } = $xeTable;
156
157
  return footerTableData.map((row, $rowIndex) => {
157
158
  const _rowIndex = $rowIndex;
158
- const rowParams = { $table: $xetable, row, _rowIndex, $rowIndex, fixed: fixedType, type: renderType };
159
+ const rowParams = { $table: $xeTable, row, _rowIndex, $rowIndex, fixed: fixedType, type: renderType };
159
160
  if (columnOpts.drag && columnDragOpts.animation) {
160
161
  return h('transition-group', {
161
162
  key: $rowIndex,
@@ -168,7 +169,7 @@ function renderHeads(h, _vm, footerTableData) {
168
169
  ],
169
170
  style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
170
171
  }
171
- }, renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex));
172
+ }, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
172
173
  }
173
174
  return h('tr', {
174
175
  key: $rowIndex,
@@ -177,7 +178,7 @@ function renderHeads(h, _vm, footerTableData) {
177
178
  footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
178
179
  ],
179
180
  style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
180
- }, renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex));
181
+ }, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
181
182
  });
182
183
  }
183
184
  export default {
@@ -210,21 +211,56 @@ export default {
210
211
  elemStore[`${prefix}xSpace`] = null;
211
212
  },
212
213
  render(h) {
213
- let { _e, $parent: $xetable, fixedType, fixedColumn, tableColumn, footerTableData } = this;
214
- const { tId, mergeFooterList, footerSpanMethod, scrollXLoad, showFooterOverflow: allColumnFooterOverflow, scrollbarWidth, visibleColumn, expandColumn } = $xetable;
214
+ const props = this;
215
+ const $xeTable = this.$parent;
216
+ const tableProps = $xeTable;
217
+ const tableReactData = $xeTable;
218
+ const tableInternalData = $xeTable;
219
+ const { tId } = $xeTable;
220
+ const { fixedType, fixedColumn, tableColumn } = props;
221
+ const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps;
222
+ const { visibleColumn, fullColumnIdData } = tableInternalData;
223
+ const { scrollXLoad, scrollYLoad, scrollbarWidth, dragCol } = tableReactData;
224
+ let renderColumnList = tableColumn;
215
225
  // 如果是使用优化模式
216
226
  if (fixedType) {
217
- // 如果存在展开行使用全量渲染
218
- if (!expandColumn && (scrollXLoad || allColumnFooterOverflow)) {
219
- if (!mergeFooterList.length || !footerSpanMethod) {
220
- tableColumn = fixedColumn;
227
+ // 如果是使用优化模式
228
+ if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
229
+ // 如果不支持优化模式
230
+ if (spanMethod || footerSpanMethod) {
231
+ renderColumnList = visibleColumn;
221
232
  }
222
233
  else {
223
- tableColumn = visibleColumn;
234
+ renderColumnList = fixedColumn || [];
224
235
  }
225
236
  }
226
237
  else {
227
- tableColumn = visibleColumn;
238
+ renderColumnList = visibleColumn;
239
+ }
240
+ }
241
+ if (!fixedType) {
242
+ // 列拖拽
243
+ if (scrollXLoad && dragCol) {
244
+ if (renderColumnList.length > 2) {
245
+ const dCowRest = fullColumnIdData[dragCol.id];
246
+ if (dCowRest) {
247
+ const dcIndex = dCowRest._index;
248
+ const firstCol = renderColumnList[0];
249
+ const lastCol = renderColumnList[renderColumnList.length - 1];
250
+ const firstColRest = fullColumnIdData[firstCol.id];
251
+ const lastColRest = fullColumnIdData[lastCol.id];
252
+ if (firstColRest && lastColRest) {
253
+ const fcIndex = firstColRest._index;
254
+ const lcIndex = lastColRest._index;
255
+ if (dcIndex < fcIndex) {
256
+ renderColumnList = [dragCol].concat(renderColumnList);
257
+ }
258
+ else if (dcIndex > lcIndex) {
259
+ renderColumnList = renderColumnList.concat([dragCol]);
260
+ }
261
+ }
262
+ }
263
+ }
228
264
  }
229
265
  }
230
266
  const ons = {};
@@ -239,7 +275,7 @@ export default {
239
275
  on: ons
240
276
  }, [
241
277
  fixedType
242
- ? _e()
278
+ ? renderEmptyElement($xeTable)
243
279
  : h('div', {
244
280
  class: 'vxe-body--x-space',
245
281
  ref: 'xSpace'
@@ -259,7 +295,7 @@ export default {
259
295
  */
260
296
  h('colgroup', {
261
297
  ref: 'colgroup'
262
- }, tableColumn.map((column, $columnIndex) => {
298
+ }, renderColumnList.map((column, $columnIndex) => {
263
299
  return h('col', {
264
300
  attrs: {
265
301
  name: column.id
@@ -280,7 +316,7 @@ export default {
280
316
  */
281
317
  h('tfoot', {
282
318
  ref: 'tfoot'
283
- }, renderHeads(h, this, footerTableData))
319
+ }, renderHeads(h, this, renderColumnList))
284
320
  ])
285
321
  ]);
286
322
  },
@@ -3,7 +3,7 @@ import { VxeUI } from '../../ui';
3
3
  import { getClass } from '../../ui/src/utils';
4
4
  import { getOffsetPos, hasClass, addClass, removeClass } from '../../ui/src/dom';
5
5
  import { convertHeaderColumnToRows, getColReMinWidth } from './util';
6
- const { renderer } = VxeUI;
6
+ const { renderer, renderEmptyElement } = VxeUI;
7
7
  const cellType = 'header';
8
8
  const renderRows = (h, _vm, cols, $rowIndex) => {
9
9
  const $xeTable = _vm.$parent;
@@ -75,6 +75,7 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
75
75
  'is--sortable': column.sortable,
76
76
  'col--filter': !!column.filters,
77
77
  'is--filter-active': hasFilter,
78
+ 'is--drag-active': !column.fixed && !isDisabledDrag,
78
79
  'is--drag-disabled': isDisabledDrag,
79
80
  'col--current': currentColumn === column
80
81
  }, getClass(headerClassName, params), getClass(headerCellClassName, params)],
@@ -193,21 +194,68 @@ export default {
193
194
  elemStore[`${prefix}repair`] = null;
194
195
  },
195
196
  render(h) {
196
- const { _e, $parent: $xetable, fixedType, headerColumn, tableColumn, fixedColumn } = this;
197
- const { tId, isGroup, visibleColumn, showHeaderOverflow: allColumnHeaderOverflow, scrollXLoad, scrollbarWidth } = $xetable;
198
- let headerGroups = headerColumn;
197
+ const props = this;
198
+ const $xeTable = this.$parent;
199
+ const tableProps = $xeTable;
200
+ const tableReactData = $xeTable;
201
+ const tableInternalData = $xeTable;
202
+ const { tId } = $xeTable;
203
+ const { fixedType, fixedColumn, tableColumn } = props;
204
+ const { headerColumn } = this;
205
+ const { showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps;
206
+ const { isGroup, scrollXLoad, scrollYLoad, scrollbarWidth, dragCol } = tableReactData;
207
+ const { visibleColumn, fullColumnIdData } = tableInternalData;
208
+ let renderHeaderList = headerColumn;
199
209
  let renderColumnList = tableColumn;
200
210
  if (isGroup) {
201
211
  renderColumnList = visibleColumn;
202
212
  }
203
213
  else {
204
- // 如果是使用优化模式
205
214
  if (fixedType) {
206
- if (scrollXLoad || allColumnHeaderOverflow) {
207
- renderColumnList = fixedColumn;
215
+ // 如果是使用优化模式
216
+ if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
217
+ // 如果不支持优化模式
218
+ if (spanMethod || footerSpanMethod) {
219
+ renderColumnList = visibleColumn;
220
+ }
221
+ else {
222
+ renderColumnList = fixedColumn || [];
223
+ }
224
+ }
225
+ else {
226
+ renderColumnList = visibleColumn;
227
+ }
228
+ }
229
+ renderHeaderList = [renderColumnList];
230
+ }
231
+ if (!fixedType) {
232
+ // 列拖拽
233
+ if (scrollXLoad && dragCol) {
234
+ if (renderColumnList.length > 2) {
235
+ const dCowRest = fullColumnIdData[dragCol.id];
236
+ if (dCowRest) {
237
+ const dcIndex = dCowRest._index;
238
+ const firstCol = renderColumnList[0];
239
+ const lastCol = renderColumnList[renderColumnList.length - 1];
240
+ const firstColRest = fullColumnIdData[firstCol.id];
241
+ const lastColRest = fullColumnIdData[lastCol.id];
242
+ if (firstColRest && lastColRest) {
243
+ const fcIndex = firstColRest._index;
244
+ const lcIndex = lastColRest._index;
245
+ console.log(dragCol.id, dcIndex, fcIndex, lcIndex, renderColumnList.length);
246
+ if (dcIndex < fcIndex) {
247
+ renderColumnList = [dragCol].concat(renderColumnList);
248
+ renderHeaderList = [[dragCol].concat(renderHeaderList[0])].concat(renderHeaderList.slice(1));
249
+ }
250
+ else if (dcIndex > lcIndex) {
251
+ renderColumnList = renderColumnList.concat([dragCol]);
252
+ renderHeaderList = [renderHeaderList[0].concat([dragCol])].concat(renderHeaderList.slice(1));
253
+ }
254
+ console.log(renderColumnList.length);
255
+ }
256
+ }
208
257
  }
209
258
  }
210
- headerGroups = [renderColumnList];
211
259
  }
212
260
  return h('div', {
213
261
  class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
@@ -216,7 +264,7 @@ export default {
216
264
  }
217
265
  }, [
218
266
  fixedType
219
- ? _e()
267
+ ? renderEmptyElement($xeTable)
220
268
  : h('div', {
221
269
  class: 'vxe-body--x-space',
222
270
  ref: 'xSpace'
@@ -257,7 +305,7 @@ export default {
257
305
  */
258
306
  h('thead', {
259
307
  ref: 'thead'
260
- }, renderHeads(h, this, headerGroups))
308
+ }, renderHeads(h, this, renderHeaderList))
261
309
  ]),
262
310
  /**
263
311
  * 其他