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.
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/render/index.js +47 -12
- package/es/table/src/body.js +81 -35
- package/es/table/src/footer.js +54 -18
- package/es/table/src/header.js +58 -10
- package/es/table/src/methods.js +159 -118
- package/es/table/src/table.js +5 -13
- package/es/table/style.css +3 -5
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +5 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +3 -5
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +464 -272
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/render/index.js +47 -12
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +101 -56
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +67 -30
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +71 -18
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +167 -137
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +5 -15
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +3 -5
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +5 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +3 -5
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/render/index.ts +48 -12
- package/packages/table/src/body.ts +84 -35
- package/packages/table/src/footer.ts +58 -18
- package/packages/table/src/header.ts +62 -11
- package/packages/table/src/methods.ts +163 -126
- package/packages/table/src/table.ts +6 -15
- package/packages/ui/index.ts +4 -2
- package/styles/components/table.scss +1 -3
- /package/es/{iconfont.1735003904481.ttf → iconfont.1735106128767.ttf} +0 -0
- /package/es/{iconfont.1735003904481.woff → iconfont.1735106128767.woff} +0 -0
- /package/es/{iconfont.1735003904481.woff2 → iconfont.1735106128767.woff2} +0 -0
- /package/lib/{iconfont.1735003904481.ttf → iconfont.1735106128767.ttf} +0 -0
- /package/lib/{iconfont.1735003904481.woff → iconfont.1735106128767.woff} +0 -0
- /package/lib/{iconfont.1735003904481.woff2 → iconfont.1735106128767.woff2} +0 -0
|
@@ -428,15 +428,9 @@ function renderRows (h: CreateElement, _vm: any, $xeTable: any, fixedType: any,
|
|
|
428
428
|
}
|
|
429
429
|
// 拖拽行事件
|
|
430
430
|
if (rowOpts.drag && (!treeConfig || transform)) {
|
|
431
|
-
trOn.dragstart =
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
trOn.dragover = (evnt: DragEvent) => {
|
|
435
|
-
$xeTable.handleRowDragDragoverEvent(evnt)
|
|
436
|
-
}
|
|
437
|
-
trOn.dragend = (evnt: DragEvent) => {
|
|
438
|
-
$xeTable.handleRowDragDragendEvent(evnt)
|
|
439
|
-
}
|
|
431
|
+
trOn.dragstart = $xeTable.handleRowDragDragstartEvent
|
|
432
|
+
trOn.dragend = $xeTable.handleRowDragDragendEvent
|
|
433
|
+
trOn.dragover = $xeTable.handleRowDragDragoverEvent
|
|
440
434
|
}
|
|
441
435
|
const trClass = [
|
|
442
436
|
'vxe-body--row',
|
|
@@ -579,44 +573,99 @@ export default {
|
|
|
579
573
|
elemStore[`${prefix}emptyBlock`] = null
|
|
580
574
|
},
|
|
581
575
|
render (this: any, h: CreateElement) {
|
|
576
|
+
const props = this
|
|
582
577
|
const $xeTable = this.$parent
|
|
578
|
+
const tableProps = $xeTable
|
|
579
|
+
const tableReactData = $xeTable
|
|
580
|
+
const tableInternalData = $xeTable
|
|
583
581
|
|
|
584
|
-
const {
|
|
582
|
+
const { tId, $scopedSlots } = $xeTable
|
|
583
|
+
const { fixedColumn, fixedType, tableColumn } = props
|
|
585
584
|
|
|
585
|
+
const { showOverflow: allColumnOverflow, spanMethod, footerSpanMethod, mouseConfig } = tableProps
|
|
586
|
+
const { tableData, scrollXLoad, scrollYLoad, isAllOverflow, isDragRowMove, expandColumn, dragRow, dragCol } = tableReactData
|
|
587
|
+
const { visibleColumn, fullAllDataRowIdData, fullColumnIdData } = tableInternalData
|
|
586
588
|
const rowOpts = $xeTable.computeRowOpts
|
|
589
|
+
const sYOpts = $xeTable.computeSYOpts
|
|
590
|
+
const emptyOpts = $xeTable.computeEmptyOpts
|
|
591
|
+
const mouseOpts = $xeTable.computeMouseOpts
|
|
587
592
|
const rowDragOpts = $xeTable.computeRowDragOpts
|
|
588
|
-
|
|
589
|
-
|
|
593
|
+
|
|
594
|
+
let renderDataList = tableData
|
|
595
|
+
let renderColumnList = tableColumn
|
|
596
|
+
|
|
590
597
|
if (fixedType) {
|
|
591
|
-
//
|
|
592
|
-
if (
|
|
593
|
-
|
|
594
|
-
|
|
598
|
+
// 如果是使用优化模式
|
|
599
|
+
if (scrollXLoad || scrollYLoad || (allColumnOverflow && isAllOverflow)) {
|
|
600
|
+
// 如果不支持优化模式
|
|
601
|
+
if (expandColumn || spanMethod || footerSpanMethod) {
|
|
602
|
+
renderColumnList = visibleColumn
|
|
595
603
|
} else {
|
|
596
|
-
|
|
597
|
-
// 检查固定列是否被合并,合并范围是否超出固定列
|
|
598
|
-
// if (mergeList.length && !isMergeLeftFixedExceeded && fixedType === 'left') {
|
|
599
|
-
// tableColumn = fixedColumn
|
|
600
|
-
// } else if (mergeList.length && !isMergeRightFixedExceeded && fixedType === 'right') {
|
|
601
|
-
// tableColumn = fixedColumn
|
|
602
|
-
// } else {
|
|
603
|
-
// tableColumn = visibleColumn
|
|
604
|
-
// }
|
|
604
|
+
renderColumnList = fixedColumn || []
|
|
605
605
|
}
|
|
606
606
|
} else {
|
|
607
|
-
|
|
607
|
+
renderColumnList = visibleColumn
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
|
+
|
|
611
|
+
// 行拖拽
|
|
612
|
+
if (scrollYLoad && dragRow) {
|
|
613
|
+
if (renderDataList.length > 2) {
|
|
614
|
+
const dRowRest = fullAllDataRowIdData[getRowid($xeTable, dragRow)]
|
|
615
|
+
if (dRowRest) {
|
|
616
|
+
const drIndex = dRowRest._index
|
|
617
|
+
const firstRow = renderDataList[0]
|
|
618
|
+
const lastRow = renderDataList[renderDataList.length - 1]
|
|
619
|
+
const firstRowRest = fullAllDataRowIdData[getRowid($xeTable, firstRow)]
|
|
620
|
+
const lastRowRest = fullAllDataRowIdData[getRowid($xeTable, lastRow)]
|
|
621
|
+
if (firstRowRest && lastRowRest) {
|
|
622
|
+
const frIndex = firstRowRest._index
|
|
623
|
+
const lrIndex = lastRowRest._index
|
|
624
|
+
if (drIndex < frIndex) {
|
|
625
|
+
renderDataList = [dragRow].concat(renderDataList)
|
|
626
|
+
} else if (drIndex > lrIndex) {
|
|
627
|
+
renderDataList = renderDataList.concat([dragRow])
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
if (!fixedType) {
|
|
635
|
+
// 列拖拽
|
|
636
|
+
if (scrollXLoad && dragCol) {
|
|
637
|
+
if (renderColumnList.length > 2) {
|
|
638
|
+
const dCowRest = fullColumnIdData[dragCol.id]
|
|
639
|
+
if (dCowRest) {
|
|
640
|
+
const dcIndex = dCowRest._index
|
|
641
|
+
const firstCol = renderColumnList[0]
|
|
642
|
+
const lastCol = renderColumnList[renderColumnList.length - 1]
|
|
643
|
+
const firstColRest = fullColumnIdData[firstCol.id]
|
|
644
|
+
const lastColRest = fullColumnIdData[lastCol.id]
|
|
645
|
+
if (firstColRest && lastColRest) {
|
|
646
|
+
const fcIndex = firstColRest._index
|
|
647
|
+
const lcIndex = lastColRest._index
|
|
648
|
+
if (dcIndex < fcIndex) {
|
|
649
|
+
renderColumnList = [dragCol].concat(renderColumnList)
|
|
650
|
+
} else if (dcIndex > lcIndex) {
|
|
651
|
+
renderColumnList = renderColumnList.concat([dragCol])
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
|
|
610
659
|
let emptyContent
|
|
611
660
|
if ($scopedSlots.empty) {
|
|
612
|
-
emptyContent = $scopedSlots.empty.call(this, { $table: $
|
|
661
|
+
emptyContent = $scopedSlots.empty.call(this, { $table: $xeTable, $grid: $xeTable.xegrid }, h)
|
|
613
662
|
} else {
|
|
614
663
|
const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null
|
|
615
664
|
const rtEmptyView = compConf ? (compConf.renderTableEmpty || compConf.renderTableEmptyView || compConf.renderEmpty) : null
|
|
616
665
|
if (rtEmptyView) {
|
|
617
|
-
emptyContent = getSlotVNs(rtEmptyView.call(this, h, emptyOpts, { $table: $
|
|
666
|
+
emptyContent = getSlotVNs(rtEmptyView.call(this, h, emptyOpts, { $table: $xeTable }))
|
|
618
667
|
} else {
|
|
619
|
-
emptyContent =
|
|
668
|
+
emptyContent = tableProps.emptyText || getI18n('vxe.table.emptyText')
|
|
620
669
|
}
|
|
621
670
|
}
|
|
622
671
|
|
|
@@ -636,7 +685,7 @@ export default {
|
|
|
636
685
|
on: ons
|
|
637
686
|
}, [
|
|
638
687
|
fixedType
|
|
639
|
-
?
|
|
688
|
+
? renderEmptyElement($xeTable)
|
|
640
689
|
: h('div', {
|
|
641
690
|
class: 'vxe-body--x-space',
|
|
642
691
|
ref: 'xSpace'
|
|
@@ -660,7 +709,7 @@ export default {
|
|
|
660
709
|
*/
|
|
661
710
|
h('colgroup', {
|
|
662
711
|
ref: 'colgroup'
|
|
663
|
-
},
|
|
712
|
+
}, renderColumnList.map((column: any, $columnIndex: any) => {
|
|
664
713
|
return h('col', {
|
|
665
714
|
attrs: {
|
|
666
715
|
name: column.id
|
|
@@ -677,10 +726,10 @@ export default {
|
|
|
677
726
|
tag: 'tbody',
|
|
678
727
|
name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`
|
|
679
728
|
}
|
|
680
|
-
}, renderRows(h, this, $
|
|
729
|
+
}, renderRows(h, this, $xeTable, fixedType, renderDataList, renderColumnList))
|
|
681
730
|
: h('tbody', {
|
|
682
731
|
ref: 'tbody'
|
|
683
|
-
}, renderRows(h, this, $
|
|
732
|
+
}, renderRows(h, this, $xeTable, fixedType, renderDataList, renderColumnList))
|
|
684
733
|
]),
|
|
685
734
|
h('div', {
|
|
686
735
|
class: 'vxe-table--checkbox-range'
|
|
@@ -697,8 +746,8 @@ export default {
|
|
|
697
746
|
class: 'vxe-table--cell-main-area-btn',
|
|
698
747
|
on: {
|
|
699
748
|
mousedown (evnt: any) {
|
|
700
|
-
if ($
|
|
701
|
-
$
|
|
749
|
+
if ($xeTable.triggerCellAreaExtendMousedownEvent) {
|
|
750
|
+
$xeTable.triggerCellAreaExtendMousedownEvent(evnt, { $table: $xeTable, fixed: fixedType, type: renderType })
|
|
702
751
|
}
|
|
703
752
|
}
|
|
704
753
|
}
|
|
@@ -8,7 +8,7 @@ import type { VxeTableDefines } from '../../../types'
|
|
|
8
8
|
|
|
9
9
|
const renderType = 'footer'
|
|
10
10
|
|
|
11
|
-
const { renderer } = VxeUI
|
|
11
|
+
const { renderer, renderEmptyElement } = VxeUI
|
|
12
12
|
|
|
13
13
|
function mergeFooterMethod (mergeFooterList: any, _rowIndex: any, _columnIndex: any) {
|
|
14
14
|
for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
|
|
@@ -155,18 +155,19 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
|
|
|
155
155
|
: [])
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
function renderHeads (h: CreateElement, _vm: any,
|
|
158
|
+
function renderHeads (h: CreateElement, _vm: any, renderColumnList: VxeTableDefines.ColumnInfo[]) {
|
|
159
159
|
const $xeTable = _vm.$parent
|
|
160
|
+
const props = _vm
|
|
160
161
|
|
|
161
162
|
const columnOpts = $xeTable.computeColumnOpts
|
|
162
163
|
const columnDragOpts = $xeTable.computeColumnDragOpts
|
|
163
164
|
|
|
164
|
-
const {
|
|
165
|
-
const { footerRowClassName, footerRowStyle, isDragColMove } = $
|
|
165
|
+
const { fixedType, footerTableData } = props
|
|
166
|
+
const { footerRowClassName, footerRowStyle, isDragColMove } = $xeTable
|
|
166
167
|
|
|
167
168
|
return footerTableData.map((row: any, $rowIndex: any) => {
|
|
168
169
|
const _rowIndex = $rowIndex
|
|
169
|
-
const rowParams = { $table: $
|
|
170
|
+
const rowParams = { $table: $xeTable, row, _rowIndex, $rowIndex, fixed: fixedType, type: renderType }
|
|
170
171
|
|
|
171
172
|
if (columnOpts.drag && columnDragOpts.animation) {
|
|
172
173
|
return h('transition-group', {
|
|
@@ -180,7 +181,7 @@ function renderHeads (h: CreateElement, _vm: any, footerTableData: any[]) {
|
|
|
180
181
|
],
|
|
181
182
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
|
|
182
183
|
}
|
|
183
|
-
}, renderRows(h, _vm,
|
|
184
|
+
}, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex))
|
|
184
185
|
}
|
|
185
186
|
return h('tr', {
|
|
186
187
|
key: $rowIndex,
|
|
@@ -189,7 +190,7 @@ function renderHeads (h: CreateElement, _vm: any, footerTableData: any[]) {
|
|
|
189
190
|
footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
|
|
190
191
|
],
|
|
191
192
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
|
|
192
|
-
}, renderRows(h, _vm,
|
|
193
|
+
}, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex))
|
|
193
194
|
})
|
|
194
195
|
}
|
|
195
196
|
|
|
@@ -223,19 +224,58 @@ export default {
|
|
|
223
224
|
elemStore[`${prefix}xSpace`] = null
|
|
224
225
|
},
|
|
225
226
|
render (h: CreateElement) {
|
|
226
|
-
|
|
227
|
-
const
|
|
227
|
+
const props = this
|
|
228
|
+
const $xeTable = this.$parent
|
|
229
|
+
const tableProps = $xeTable
|
|
230
|
+
const tableReactData = $xeTable
|
|
231
|
+
const tableInternalData = $xeTable
|
|
232
|
+
|
|
233
|
+
const { tId } = $xeTable
|
|
234
|
+
const { fixedType, fixedColumn, tableColumn } = props
|
|
235
|
+
|
|
236
|
+
const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps
|
|
237
|
+
const { visibleColumn, fullColumnIdData } = tableInternalData
|
|
238
|
+
const { scrollXLoad, scrollYLoad, scrollbarWidth, dragCol } = tableReactData
|
|
239
|
+
|
|
240
|
+
let renderColumnList = tableColumn
|
|
241
|
+
|
|
228
242
|
// 如果是使用优化模式
|
|
229
243
|
if (fixedType) {
|
|
230
|
-
//
|
|
231
|
-
if (
|
|
232
|
-
|
|
233
|
-
|
|
244
|
+
// 如果是使用优化模式
|
|
245
|
+
if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
|
|
246
|
+
// 如果不支持优化模式
|
|
247
|
+
if (spanMethod || footerSpanMethod) {
|
|
248
|
+
renderColumnList = visibleColumn
|
|
234
249
|
} else {
|
|
235
|
-
|
|
250
|
+
renderColumnList = fixedColumn || []
|
|
236
251
|
}
|
|
237
252
|
} else {
|
|
238
|
-
|
|
253
|
+
renderColumnList = visibleColumn
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
if (!fixedType) {
|
|
258
|
+
// 列拖拽
|
|
259
|
+
if (scrollXLoad && dragCol) {
|
|
260
|
+
if (renderColumnList.length > 2) {
|
|
261
|
+
const dCowRest = fullColumnIdData[dragCol.id]
|
|
262
|
+
if (dCowRest) {
|
|
263
|
+
const dcIndex = dCowRest._index
|
|
264
|
+
const firstCol = renderColumnList[0]
|
|
265
|
+
const lastCol = renderColumnList[renderColumnList.length - 1]
|
|
266
|
+
const firstColRest = fullColumnIdData[firstCol.id]
|
|
267
|
+
const lastColRest = fullColumnIdData[lastCol.id]
|
|
268
|
+
if (firstColRest && lastColRest) {
|
|
269
|
+
const fcIndex = firstColRest._index
|
|
270
|
+
const lcIndex = lastColRest._index
|
|
271
|
+
if (dcIndex < fcIndex) {
|
|
272
|
+
renderColumnList = [dragCol].concat(renderColumnList)
|
|
273
|
+
} else if (dcIndex > lcIndex) {
|
|
274
|
+
renderColumnList = renderColumnList.concat([dragCol])
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
239
279
|
}
|
|
240
280
|
}
|
|
241
281
|
|
|
@@ -252,7 +292,7 @@ export default {
|
|
|
252
292
|
on: ons
|
|
253
293
|
}, [
|
|
254
294
|
fixedType
|
|
255
|
-
?
|
|
295
|
+
? renderEmptyElement($xeTable)
|
|
256
296
|
: h('div', {
|
|
257
297
|
class: 'vxe-body--x-space',
|
|
258
298
|
ref: 'xSpace'
|
|
@@ -272,7 +312,7 @@ export default {
|
|
|
272
312
|
*/
|
|
273
313
|
h('colgroup', {
|
|
274
314
|
ref: 'colgroup'
|
|
275
|
-
},
|
|
315
|
+
}, renderColumnList.map((column: any, $columnIndex: any) => {
|
|
276
316
|
return h('col', {
|
|
277
317
|
attrs: {
|
|
278
318
|
name: column.id
|
|
@@ -293,7 +333,7 @@ export default {
|
|
|
293
333
|
*/
|
|
294
334
|
h('tfoot', {
|
|
295
335
|
ref: 'tfoot'
|
|
296
|
-
}, renderHeads(h, this,
|
|
336
|
+
}, renderHeads(h, this, renderColumnList))
|
|
297
337
|
])
|
|
298
338
|
])
|
|
299
339
|
},
|
|
@@ -7,7 +7,7 @@ import { convertHeaderColumnToRows, getColReMinWidth } from './util'
|
|
|
7
7
|
|
|
8
8
|
import type { VxeTableDefines } from '../../../types'
|
|
9
9
|
|
|
10
|
-
const { renderer } = VxeUI
|
|
10
|
+
const { renderer, renderEmptyElement } = VxeUI
|
|
11
11
|
|
|
12
12
|
const cellType = 'header'
|
|
13
13
|
|
|
@@ -84,6 +84,7 @@ const renderRows = (h: CreateElement, _vm: any, cols: VxeTableDefines.ColumnInfo
|
|
|
84
84
|
'is--sortable': column.sortable,
|
|
85
85
|
'col--filter': !!column.filters,
|
|
86
86
|
'is--filter-active': hasFilter,
|
|
87
|
+
'is--drag-active': !column.fixed && !isDisabledDrag,
|
|
87
88
|
'is--drag-disabled': isDisabledDrag,
|
|
88
89
|
'col--current': currentColumn === column
|
|
89
90
|
}, getClass(headerClassName, params), getClass(headerCellClassName, params)],
|
|
@@ -209,21 +210,71 @@ export default {
|
|
|
209
210
|
elemStore[`${prefix}repair`] = null
|
|
210
211
|
},
|
|
211
212
|
render (h: CreateElement) {
|
|
212
|
-
const
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
const props = this
|
|
214
|
+
const $xeTable = this.$parent
|
|
215
|
+
const tableProps = $xeTable
|
|
216
|
+
const tableReactData = $xeTable
|
|
217
|
+
const tableInternalData = $xeTable
|
|
218
|
+
|
|
219
|
+
const { tId } = $xeTable
|
|
220
|
+
const { fixedType, fixedColumn, tableColumn } = props
|
|
221
|
+
const { headerColumn } = this
|
|
222
|
+
|
|
223
|
+
const { showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps
|
|
224
|
+
const { isGroup, scrollXLoad, scrollYLoad, scrollbarWidth, dragCol } = tableReactData
|
|
225
|
+
const { visibleColumn, fullColumnIdData } = tableInternalData
|
|
226
|
+
|
|
227
|
+
let renderHeaderList: VxeTableDefines.ColumnInfo[][] = headerColumn
|
|
228
|
+
let renderColumnList: VxeTableDefines.ColumnInfo[] = tableColumn
|
|
229
|
+
|
|
216
230
|
if (isGroup) {
|
|
217
231
|
renderColumnList = visibleColumn
|
|
218
232
|
} else {
|
|
219
|
-
// 如果是使用优化模式
|
|
220
233
|
if (fixedType) {
|
|
221
|
-
|
|
222
|
-
|
|
234
|
+
// 如果是使用优化模式
|
|
235
|
+
if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
|
|
236
|
+
// 如果不支持优化模式
|
|
237
|
+
if (spanMethod || footerSpanMethod) {
|
|
238
|
+
renderColumnList = visibleColumn
|
|
239
|
+
} else {
|
|
240
|
+
renderColumnList = fixedColumn || []
|
|
241
|
+
}
|
|
242
|
+
} else {
|
|
243
|
+
renderColumnList = visibleColumn
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
renderHeaderList = [renderColumnList]
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (!fixedType) {
|
|
250
|
+
// 列拖拽
|
|
251
|
+
if (scrollXLoad && dragCol) {
|
|
252
|
+
if (renderColumnList.length > 2) {
|
|
253
|
+
const dCowRest = fullColumnIdData[dragCol.id]
|
|
254
|
+
if (dCowRest) {
|
|
255
|
+
const dcIndex = dCowRest._index
|
|
256
|
+
const firstCol = renderColumnList[0]
|
|
257
|
+
const lastCol = renderColumnList[renderColumnList.length - 1]
|
|
258
|
+
const firstColRest = fullColumnIdData[firstCol.id]
|
|
259
|
+
const lastColRest = fullColumnIdData[lastCol.id]
|
|
260
|
+
if (firstColRest && lastColRest) {
|
|
261
|
+
const fcIndex = firstColRest._index
|
|
262
|
+
const lcIndex = lastColRest._index
|
|
263
|
+
console.log(dragCol.id, dcIndex, fcIndex, lcIndex, renderColumnList.length)
|
|
264
|
+
if (dcIndex < fcIndex) {
|
|
265
|
+
renderColumnList = [dragCol].concat(renderColumnList)
|
|
266
|
+
renderHeaderList = [[dragCol].concat(renderHeaderList[0])].concat(renderHeaderList.slice(1))
|
|
267
|
+
} else if (dcIndex > lcIndex) {
|
|
268
|
+
renderColumnList = renderColumnList.concat([dragCol])
|
|
269
|
+
renderHeaderList = [renderHeaderList[0].concat([dragCol])].concat(renderHeaderList.slice(1))
|
|
270
|
+
}
|
|
271
|
+
console.log(renderColumnList.length)
|
|
272
|
+
}
|
|
273
|
+
}
|
|
223
274
|
}
|
|
224
275
|
}
|
|
225
|
-
headerGroups = [renderColumnList]
|
|
226
276
|
}
|
|
277
|
+
|
|
227
278
|
return h('div', {
|
|
228
279
|
class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
229
280
|
attrs: {
|
|
@@ -231,7 +282,7 @@ export default {
|
|
|
231
282
|
}
|
|
232
283
|
}, [
|
|
233
284
|
fixedType
|
|
234
|
-
?
|
|
285
|
+
? renderEmptyElement($xeTable)
|
|
235
286
|
: h('div', {
|
|
236
287
|
class: 'vxe-body--x-space',
|
|
237
288
|
ref: 'xSpace'
|
|
@@ -272,7 +323,7 @@ export default {
|
|
|
272
323
|
*/
|
|
273
324
|
h('thead', {
|
|
274
325
|
ref: 'thead'
|
|
275
|
-
}, renderHeads(h, this,
|
|
326
|
+
}, renderHeads(h, this, renderHeaderList))
|
|
276
327
|
]),
|
|
277
328
|
/**
|
|
278
329
|
* 其他
|