vxe-table 3.12.10-beta.2 → 3.12.10-beta.21

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 (178) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +2 -1
  4. package/es/locale/lang/de-DE.js +2 -1
  5. package/es/locale/lang/en-US.js +2 -1
  6. package/es/locale/lang/es-ES.js +2 -1
  7. package/es/locale/lang/fr-FR.js +2 -1
  8. package/es/locale/lang/hu-HU.js +2 -1
  9. package/es/locale/lang/hy-AM.js +2 -1
  10. package/es/locale/lang/it-IT.js +2 -1
  11. package/es/locale/lang/ja-JP.js +2 -1
  12. package/es/locale/lang/ko-KR.js +2 -1
  13. package/es/locale/lang/nb-NO.js +2 -1
  14. package/es/locale/lang/pt-BR.js +2 -1
  15. package/es/locale/lang/ru-RU.js +4 -3
  16. package/es/locale/lang/th-TH.js +2 -1
  17. package/es/locale/lang/ug-CN.js +2 -1
  18. package/es/locale/lang/uk-UA.js +518 -517
  19. package/es/locale/lang/vi-VN.js +2 -1
  20. package/es/locale/lang/zh-CHT.js +2 -1
  21. package/es/locale/lang/zh-CN.js +2 -1
  22. package/es/style.css +1 -1
  23. package/es/style.min.css +1 -1
  24. package/es/table/module/edit/mixin.js +7 -7
  25. package/es/table/module/export/mixin.js +55 -32
  26. package/es/table/module/keyboard/mixin.js +68 -25
  27. package/es/table/module/menu/mixin.js +3 -1
  28. package/es/table/src/body.js +96 -64
  29. package/es/table/src/cell.js +3 -7
  30. package/es/table/src/column.js +2 -0
  31. package/es/table/src/columnInfo.js +1 -0
  32. package/es/table/src/footer.js +31 -6
  33. package/es/table/src/header.js +45 -141
  34. package/es/table/src/methods.js +918 -456
  35. package/es/table/src/props.js +6 -2
  36. package/es/table/src/table.js +299 -149
  37. package/es/table/src/util.js +67 -57
  38. package/es/table/style.css +299 -191
  39. package/es/table/style.min.css +1 -1
  40. package/es/ui/index.js +20 -10
  41. package/es/ui/src/log.js +1 -1
  42. package/es/vxe-table/style.css +299 -191
  43. package/es/vxe-table/style.min.css +1 -1
  44. package/lib/index.css +1 -1
  45. package/lib/index.min.css +1 -1
  46. package/lib/index.umd.js +1735 -1025
  47. package/lib/index.umd.min.js +1 -1
  48. package/lib/locale/lang/ar-EG.js +2 -1
  49. package/lib/locale/lang/ar-EG.min.js +1 -1
  50. package/lib/locale/lang/de-DE.js +2 -1
  51. package/lib/locale/lang/de-DE.min.js +1 -1
  52. package/lib/locale/lang/en-US.js +2 -1
  53. package/lib/locale/lang/en-US.min.js +1 -1
  54. package/lib/locale/lang/en-US.umd.js +2 -1
  55. package/lib/locale/lang/es-ES.js +2 -1
  56. package/lib/locale/lang/es-ES.min.js +1 -1
  57. package/lib/locale/lang/es-ES.umd.js +2 -1
  58. package/lib/locale/lang/fr-FR.js +2 -1
  59. package/lib/locale/lang/fr-FR.min.js +1 -1
  60. package/lib/locale/lang/hu-HU.js +2 -1
  61. package/lib/locale/lang/hu-HU.min.js +1 -1
  62. package/lib/locale/lang/hu-HU.umd.js +2 -1
  63. package/lib/locale/lang/hy-AM.js +2 -1
  64. package/lib/locale/lang/hy-AM.min.js +1 -1
  65. package/lib/locale/lang/it-IT.js +2 -1
  66. package/lib/locale/lang/it-IT.min.js +1 -1
  67. package/lib/locale/lang/ja-JP.js +2 -1
  68. package/lib/locale/lang/ja-JP.min.js +1 -1
  69. package/lib/locale/lang/ja-JP.umd.js +2 -1
  70. package/lib/locale/lang/ko-KR.js +2 -1
  71. package/lib/locale/lang/ko-KR.min.js +1 -1
  72. package/lib/locale/lang/ko-KR.umd.js +2 -1
  73. package/lib/locale/lang/nb-NO.js +2 -1
  74. package/lib/locale/lang/nb-NO.min.js +1 -1
  75. package/lib/locale/lang/pt-BR.js +2 -1
  76. package/lib/locale/lang/pt-BR.min.js +1 -1
  77. package/lib/locale/lang/pt-BR.umd.js +2 -1
  78. package/lib/locale/lang/ru-RU.js +4 -3
  79. package/lib/locale/lang/ru-RU.min.js +1 -1
  80. package/lib/locale/lang/ru-RU.umd.js +4 -3
  81. package/lib/locale/lang/th-TH.js +2 -1
  82. package/lib/locale/lang/th-TH.min.js +1 -1
  83. package/lib/locale/lang/ug-CN.js +2 -1
  84. package/lib/locale/lang/ug-CN.min.js +1 -1
  85. package/lib/locale/lang/uk-UA.js +518 -517
  86. package/lib/locale/lang/uk-UA.min.js +1 -1
  87. package/lib/locale/lang/uk-UA.umd.js +518 -517
  88. package/lib/locale/lang/vi-VN.js +2 -1
  89. package/lib/locale/lang/vi-VN.min.js +1 -1
  90. package/lib/locale/lang/zh-CHT.js +2 -1
  91. package/lib/locale/lang/zh-CHT.min.js +1 -1
  92. package/lib/locale/lang/zh-CHT.umd.js +2 -1
  93. package/lib/locale/lang/zh-CN.js +2 -1
  94. package/lib/locale/lang/zh-CN.min.js +1 -1
  95. package/lib/locale/lang/zh-CN.umd.js +2 -1
  96. package/lib/style.css +1 -1
  97. package/lib/style.min.css +1 -1
  98. package/lib/table/module/edit/mixin.js +12 -2
  99. package/lib/table/module/edit/mixin.min.js +1 -1
  100. package/lib/table/module/export/mixin.js +52 -27
  101. package/lib/table/module/export/mixin.min.js +1 -1
  102. package/lib/table/module/keyboard/mixin.js +73 -27
  103. package/lib/table/module/keyboard/mixin.min.js +1 -1
  104. package/lib/table/module/menu/mixin.js +3 -1
  105. package/lib/table/src/body.js +89 -60
  106. package/lib/table/src/body.min.js +1 -1
  107. package/lib/table/src/cell.js +3 -5
  108. package/lib/table/src/cell.min.js +1 -1
  109. package/lib/table/src/column.js +2 -0
  110. package/lib/table/src/column.min.js +1 -1
  111. package/lib/table/src/columnInfo.js +1 -0
  112. package/lib/table/src/columnInfo.min.js +1 -1
  113. package/lib/table/src/footer.js +26 -6
  114. package/lib/table/src/footer.min.js +1 -1
  115. package/lib/table/src/header.js +38 -153
  116. package/lib/table/src/header.min.js +1 -1
  117. package/lib/table/src/methods.js +1076 -551
  118. package/lib/table/src/methods.min.js +1 -1
  119. package/lib/table/src/props.js +6 -2
  120. package/lib/table/src/props.min.js +1 -1
  121. package/lib/table/src/table.js +269 -129
  122. package/lib/table/src/table.min.js +1 -1
  123. package/lib/table/src/util.js +80 -70
  124. package/lib/table/src/util.min.js +1 -1
  125. package/lib/table/style/style.css +299 -191
  126. package/lib/table/style/style.min.css +1 -1
  127. package/lib/ui/index.js +20 -10
  128. package/lib/ui/index.min.js +1 -1
  129. package/lib/ui/src/log.js +1 -1
  130. package/lib/ui/src/log.min.js +1 -1
  131. package/lib/vxe-table/style/style.css +299 -191
  132. package/lib/vxe-table/style/style.min.css +1 -1
  133. package/package.json +2 -2
  134. package/packages/locale/lang/ar-EG.ts +2 -1
  135. package/packages/locale/lang/de-DE.ts +2 -1
  136. package/packages/locale/lang/en-US.ts +2 -1
  137. package/packages/locale/lang/es-ES.ts +2 -1
  138. package/packages/locale/lang/fr-FR.ts +2 -1
  139. package/packages/locale/lang/hu-HU.ts +2 -1
  140. package/packages/locale/lang/hy-AM.ts +2 -1
  141. package/packages/locale/lang/it-IT.ts +2 -1
  142. package/packages/locale/lang/ja-JP.ts +2 -1
  143. package/packages/locale/lang/ko-KR.ts +2 -1
  144. package/packages/locale/lang/nb-NO.ts +2 -1
  145. package/packages/locale/lang/pt-BR.ts +2 -1
  146. package/packages/locale/lang/ru-RU.ts +4 -3
  147. package/packages/locale/lang/th-TH.ts +2 -1
  148. package/packages/locale/lang/ug-CN.ts +2 -1
  149. package/packages/locale/lang/uk-UA.ts +518 -517
  150. package/packages/locale/lang/vi-VN.ts +2 -1
  151. package/packages/locale/lang/zh-CHT.ts +2 -1
  152. package/packages/locale/lang/zh-CN.ts +2 -1
  153. package/packages/table/module/edit/mixin.ts +7 -7
  154. package/packages/table/module/export/mixin.ts +50 -27
  155. package/packages/table/module/keyboard/mixin.ts +65 -24
  156. package/packages/table/module/menu/mixin.ts +4 -1
  157. package/packages/table/src/body.ts +102 -61
  158. package/packages/table/src/cell.ts +3 -7
  159. package/packages/table/src/column.ts +7 -2
  160. package/packages/table/src/columnInfo.ts +1 -0
  161. package/packages/table/src/footer.ts +31 -6
  162. package/packages/table/src/header.ts +45 -141
  163. package/packages/table/src/methods.ts +957 -461
  164. package/packages/table/src/props.ts +6 -2
  165. package/packages/table/src/table.ts +325 -149
  166. package/packages/table/src/util.ts +75 -62
  167. package/packages/ui/index.ts +21 -9
  168. package/styles/components/table.scss +352 -260
  169. package/styles/theme/base.scss +4 -6
  170. package/styles/theme/dark.scss +1 -0
  171. package/styles/theme/light.scss +1 -0
  172. package/styles/variable.scss +1 -0
  173. /package/es/{iconfont.1736736807414.ttf → iconfont.1737182271148.ttf} +0 -0
  174. /package/es/{iconfont.1736736807414.woff → iconfont.1737182271148.woff} +0 -0
  175. /package/es/{iconfont.1736736807414.woff2 → iconfont.1737182271148.woff2} +0 -0
  176. /package/lib/{iconfont.1736736807414.ttf → iconfont.1737182271148.ttf} +0 -0
  177. /package/lib/{iconfont.1736736807414.woff → iconfont.1737182271148.woff} +0 -0
  178. /package/lib/{iconfont.1736736807414.woff2 → iconfont.1737182271148.woff2} +0 -0
@@ -3,7 +3,7 @@ import { ColumnInfo } from './columnInfo'
3
3
  import { isScale, isPx } from '../../ui/src/dom'
4
4
  import { warnLog, errLog } from '../../ui/src/log'
5
5
 
6
- import type { VxeTableDefines, VxeTableConstructor, TableReactData } from '../../../types'
6
+ import type { VxeTableDefines, VxeTableConstructor, TableReactData, TableInternalData, VxeTablePrivateMethods } from '../../../types'
7
7
 
8
8
  const getAllConvertColumns = (columns: any, parentColumn?: any) => {
9
9
  const result: any[] = []
@@ -134,7 +134,7 @@ function getElementMarginWidth (elem: any) {
134
134
 
135
135
  export function handleFieldOrColumn (_vm: any, fieldOrColumn: any) {
136
136
  if (fieldOrColumn) {
137
- return XEUtils.isString(fieldOrColumn) ? _vm.getColumnByField(fieldOrColumn) : fieldOrColumn
137
+ return XEUtils.isString(fieldOrColumn) || XEUtils.isNumber(fieldOrColumn) ? _vm.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn
138
138
  }
139
139
  return null
140
140
  }
@@ -200,6 +200,7 @@ export function toFilters (filters: any) {
200
200
 
201
201
  export function getColReMinWidth (params: any) {
202
202
  const { $table, column, cell } = params
203
+ const internalData = $table
203
204
  const { showHeaderOverflow: allColumnHeaderOverflow, resizableOpts } = $table
204
205
  const { minWidth } = resizableOpts
205
206
  // 如果自定义调整宽度逻辑
@@ -209,6 +210,7 @@ export function getColReMinWidth (params: any) {
209
210
  return Math.max(1, XEUtils.toNumber(customMinWidth))
210
211
  }
211
212
  }
213
+ const { elemStore } = internalData
212
214
  const { showHeaderOverflow, minWidth: colMinWidth } = column
213
215
  const headOverflow = XEUtils.isUndefined(showHeaderOverflow) || XEUtils.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
214
216
  const showEllipsis = headOverflow === 'ellipsis'
@@ -232,11 +234,10 @@ export function getColReMinWidth (params: any) {
232
234
  }
233
235
  // 如果设置最小宽
234
236
  if (colMinWidth) {
235
- const { refTableBody } = $table.$refs
236
- const bodyElem = refTableBody ? refTableBody.$el : null
237
- if (bodyElem) {
237
+ const bodyScrollElem = getRefElem(elemStore['main-body-scroll'])
238
+ if (bodyScrollElem) {
238
239
  if (isScale(colMinWidth)) {
239
- const bodyWidth = bodyElem.clientWidth - 1
240
+ const bodyWidth = bodyScrollElem.clientWidth - 1
240
241
  const meanWidth = bodyWidth / 100
241
242
  return Math.max(mWidth, Math.floor(XEUtils.toInteger(colMinWidth) * meanWidth))
242
243
  } else if (isPx(colMinWidth)) {
@@ -280,13 +281,32 @@ export function getOffsetSize ($xeTable: VxeTableConstructor) {
280
281
  }
281
282
 
282
283
  export function calcTreeLine (params: VxeTableDefines.CellRenderBodyParams, prevRow: any) {
283
- const { $table } = params
284
+ const { $table, row } = params
285
+ const tableProps = $table
284
286
  const tableReactData = $table as unknown as TableReactData
287
+ const tableInternalData = $table as unknown as TableInternalData
288
+
289
+ const { showOverflow } = tableProps
290
+ const { scrollYLoad } = tableReactData
291
+ const { fullAllDataRowIdData } = tableInternalData
292
+ const rowOpts = $table.computeRowOpts
293
+ const cellOpts = $table.computeCellOpts
294
+ const defaultRowHeight = $table.computeDefaultRowHeight
295
+ const rowid = getRowid($table, row)
296
+ const rowRest = fullAllDataRowIdData[rowid]
297
+ const currCellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight
285
298
  let expandSize = 1
286
299
  if (prevRow) {
287
300
  expandSize = countTreeExpand(prevRow, params)
288
301
  }
289
- return tableReactData.rowHeight * expandSize - (prevRow ? 1 : (12 - getOffsetSize($table)))
302
+ let cellHeight = currCellHeight
303
+ const vnHeight = rowRest.height
304
+ if (scrollYLoad) {
305
+ if (!showOverflow) {
306
+ cellHeight = vnHeight || currCellHeight
307
+ }
308
+ }
309
+ return cellHeight * expandSize - (prevRow ? 1 : (12 - getOffsetSize($table)))
290
310
  }
291
311
 
292
312
  export function mergeBodyMethod (mergeList: any, _rowIndex: any, _columnIndex: any) {
@@ -354,34 +374,29 @@ export function isColumnInfo (column: any) {
354
374
  return column instanceof ColumnInfo
355
375
  }
356
376
 
357
- export function createColumn ($xeTable: any, options: any, renderOptions: any): any {
377
+ export function createColumn ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, options: any, renderOptions: any): any {
358
378
  return isColumnInfo(options) ? options : new ColumnInfo($xeTable, options, renderOptions)
359
379
  }
360
380
 
361
- export function rowToVisible ($xeTable: any, row: any) {
362
- const reactData = $xeTable
363
- const internalData = $xeTable
381
+ export function rowToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, row: any) {
364
382
  const tableProps = $xeTable
383
+ const reactData = $xeTable as unknown as TableReactData
384
+ const internalData = $xeTable as unknown as TableInternalData
385
+
365
386
  const { showOverflow } = tableProps
366
- const refTableBody: any = $xeTable.$refs.refTableBody
367
- const { columnStore, scrollYLoad } = reactData
368
- const { afterFullData, scrollYStore, fullAllDataRowIdData } = internalData
369
- const { rowHeight } = scrollYStore
370
- const { leftList, rightList } = columnStore
371
- const bodyElem = refTableBody ? refTableBody.$el as HTMLDivElement : null
387
+ const { scrollYLoad } = reactData
388
+ const { elemStore, afterFullData, fullAllDataRowIdData, isResizeCellHeight } = internalData
389
+ const rowOpts = $xeTable.computeRowOpts
390
+ const cellOpts = $xeTable.computeCellOpts
391
+ const defaultRowHeight = $xeTable.computeDefaultRowHeight
392
+ const leftFixedWidth = $xeTable.computeLeftFixedWidth
393
+ const rightFixedWidth = $xeTable.computeRightFixedWidth
394
+ const bodyScrollElem = getRefElem(elemStore['main-body-scroll'])
372
395
  const rowid = getRowid($xeTable, row)
373
- let offsetFixedLeft = 0
374
- leftList.forEach((item: any) => {
375
- offsetFixedLeft += item.renderWidth
376
- })
377
- let offsetFixedRight = 0
378
- rightList.forEach((item: any) => {
379
- offsetFixedRight += item.renderWidth
380
- })
381
- if (bodyElem) {
382
- const bodyHeight = bodyElem.clientHeight
383
- const bodyScrollTop = bodyElem.scrollTop
384
- const trElem: HTMLTableRowElement | null = bodyElem.querySelector(`[rowid="${rowid}"]`)
396
+ if (bodyScrollElem) {
397
+ const bodyHeight = bodyScrollElem.clientHeight
398
+ const bodyScrollTop = bodyScrollElem.scrollTop
399
+ const trElem: HTMLTableRowElement | null = bodyScrollElem.querySelector(`[rowid="${rowid}"]`)
385
400
  if (trElem) {
386
401
  const trOffsetParent = trElem.offsetParent as HTMLElement
387
402
  const trOffsetTop = trElem.offsetTop + (trOffsetParent ? trOffsetParent.offsetTop : 0)
@@ -395,12 +410,13 @@ export function rowToVisible ($xeTable: any, row: any) {
395
410
  } else {
396
411
  // 如果是虚拟渲染滚动
397
412
  if (scrollYLoad) {
398
- if (showOverflow) {
399
- return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight)
413
+ const isCustomCellHeight = isResizeCellHeight || cellOpts.height || rowOpts.height
414
+ if (!isCustomCellHeight && showOverflow) {
415
+ return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * defaultRowHeight)
400
416
  }
401
417
  let scrollTop = 0
402
418
  const rowRest = fullAllDataRowIdData[rowid]
403
- const rHeight = rowRest ? (rowRest.height || rowHeight) : rowHeight
419
+ const rHeight = rowRest ? (rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight) : defaultRowHeight
404
420
  for (let i = 0; i < afterFullData.length; i++) {
405
421
  const currRow = afterFullData[i]
406
422
  const currRowid = getRowid($xeTable, currRow)
@@ -408,54 +424,50 @@ export function rowToVisible ($xeTable: any, row: any) {
408
424
  break
409
425
  }
410
426
  const rowRest = fullAllDataRowIdData[currRowid]
411
- scrollTop += rowRest ? (rowRest.height || rowHeight) : rowHeight
427
+ scrollTop += rowRest ? (rowRest.resizeHeight || cellOpts.height || rowOpts.height || defaultRowHeight) : defaultRowHeight
412
428
  }
413
429
  if (scrollTop < bodyScrollTop) {
414
- return $xeTable.scrollTo(null, scrollTop - offsetFixedLeft - 1)
430
+ return $xeTable.scrollTo(null, scrollTop - leftFixedWidth - 1)
415
431
  }
416
- return $xeTable.scrollTo(null, (scrollTop + rHeight) - (bodyHeight - offsetFixedRight - 1))
432
+ return $xeTable.scrollTo(null, (scrollTop + rHeight) - (bodyHeight - rightFixedWidth - 1))
417
433
  }
418
434
  }
419
435
  }
420
436
  return Promise.resolve()
421
437
  }
422
438
 
423
- export function colToVisible ($xeTable: any, column: any, row?: any) {
424
- const { columnStore, scrollXLoad, visibleColumn } = $xeTable
425
- const refTableBody: any = $xeTable.$refs.refTableBody
426
- const { leftList, rightList } = columnStore
427
- const bodyElem = refTableBody ? refTableBody.$el : null
439
+ export function colToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, column: VxeTableDefines.ColumnInfo, row?: any) {
440
+ const reactData = $xeTable as unknown as TableReactData
441
+ const internalData = $xeTable as unknown as TableInternalData
442
+
443
+ const { scrollXLoad } = reactData
444
+ const { elemStore, visibleColumn } = internalData
445
+ const leftFixedWidth = $xeTable.computeLeftFixedWidth
446
+ const rightFixedWidth = $xeTable.computeRightFixedWidth
447
+ const bodyScrollElem = getRefElem(elemStore['main-body-scroll'])
428
448
  if (column.fixed) {
429
449
  return Promise.resolve()
430
450
  }
431
- let offsetFixedLeft = 0
432
- leftList.forEach((item: any) => {
433
- offsetFixedLeft += item.renderWidth
434
- })
435
- let offsetFixedRight = 0
436
- rightList.forEach((item: any) => {
437
- offsetFixedRight += item.renderWidth
438
- })
439
- if (bodyElem) {
440
- const bodyWidth = bodyElem.clientWidth
441
- const bodyScrollLeft = bodyElem.scrollLeft
451
+ if (bodyScrollElem) {
452
+ const bodyWidth = bodyScrollElem.clientWidth
453
+ const bodyScrollLeft = bodyScrollElem.scrollLeft
442
454
  let tdElem: HTMLTableCellElement | null = null
443
455
  if (row) {
444
456
  const rowid = getRowid($xeTable, row)
445
- tdElem = bodyElem.querySelector(`[rowid="${rowid}"] .${column.id}`)
457
+ tdElem = bodyScrollElem.querySelector(`[rowid="${rowid}"] .${column.id}`)
446
458
  }
447
459
  if (!tdElem) {
448
- tdElem = bodyElem.querySelector(`.${column.id}`)
460
+ tdElem = bodyScrollElem.querySelector(`.${column.id}`)
449
461
  }
450
462
  if (tdElem) {
451
463
  const tdOffsetParent = tdElem.offsetParent as HTMLElement
452
464
  const tdOffsetLeft = tdElem.offsetLeft + (tdOffsetParent ? tdOffsetParent.offsetLeft : 0)
453
465
  const cellWidth = tdElem.clientWidth
454
466
  // 检测是否在可视区中
455
- if (tdOffsetLeft < (bodyScrollLeft + offsetFixedLeft)) {
456
- return $xeTable.scrollTo(tdOffsetLeft - offsetFixedLeft - 1)
457
- } else if ((tdOffsetLeft + cellWidth - bodyScrollLeft) > (bodyWidth - offsetFixedRight)) {
458
- return $xeTable.scrollTo((tdOffsetLeft + cellWidth) - (bodyWidth - offsetFixedRight - 1))
467
+ if (tdOffsetLeft < (bodyScrollLeft + leftFixedWidth)) {
468
+ return $xeTable.scrollTo(tdOffsetLeft - leftFixedWidth - 1)
469
+ } else if ((tdOffsetLeft + cellWidth - bodyScrollLeft) > (bodyWidth - rightFixedWidth)) {
470
+ return $xeTable.scrollTo((tdOffsetLeft + cellWidth) - (bodyWidth - rightFixedWidth - 1))
459
471
  }
460
472
  } else {
461
473
  // 检测是否在虚拟渲染可视区中
@@ -463,15 +475,16 @@ export function colToVisible ($xeTable: any, column: any, row?: any) {
463
475
  let scrollLeft = 0
464
476
  const cellWidth = column.renderWidth
465
477
  for (let i = 0; i < visibleColumn.length; i++) {
466
- if (visibleColumn[i] === column) {
478
+ const currCol = visibleColumn[i]
479
+ if (currCol === column || currCol.id === column.id) {
467
480
  break
468
481
  }
469
- scrollLeft += visibleColumn[i].renderWidth
482
+ scrollLeft += currCol.renderWidth
470
483
  }
471
484
  if (scrollLeft < bodyScrollLeft) {
472
- return $xeTable.scrollTo(scrollLeft - offsetFixedLeft - 1)
485
+ return $xeTable.scrollTo(scrollLeft - leftFixedWidth - 1)
473
486
  }
474
- return $xeTable.scrollTo((scrollLeft + cellWidth) - (bodyWidth - offsetFixedRight - 1))
487
+ return $xeTable.scrollTo((scrollLeft + cellWidth) - (bodyWidth - rightFixedWidth - 1))
475
488
  }
476
489
  }
477
490
  }
@@ -41,7 +41,10 @@ VxeUI.setConfig({
41
41
  },
42
42
  resizableConfig: {
43
43
  dragMode: 'auto',
44
- showDragTip: true
44
+ showDragTip: true,
45
+ isSyncAutoHeight: true,
46
+ isSyncAutoWidth: true,
47
+ minHeight: 18
45
48
  },
46
49
  radioConfig: {
47
50
  // trigger: 'default'
@@ -75,6 +78,13 @@ VxeUI.setConfig({
75
78
  columnConfig: {
76
79
  maxFixedSize: 4
77
80
  },
81
+ cellConfig: {
82
+ padding: true
83
+ },
84
+ headerCellConfig: {
85
+ },
86
+ footerCellConfig: {
87
+ },
78
88
  // menuConfig: {
79
89
  // visibleMethod () {}
80
90
  // },
@@ -180,18 +190,20 @@ VxeUI.setConfig({
180
190
  isReplace: true
181
191
  },
182
192
  virtualXConfig: {
183
- // enabled: false,
184
- gt: 60
185
- // oSize: 0
193
+ enabled: true,
194
+ gt: 60,
195
+ preSize: 0,
196
+ oSize: 1
186
197
  },
187
198
  virtualYConfig: {
188
- // enabled: false,
189
- gt: 100
190
- // oSize: 0
199
+ enabled: true,
200
+ gt: 100,
201
+ preSize: 1,
202
+ oSize: 2
191
203
  },
192
204
  scrollbarConfig: {
193
- width: 10,
194
- height: 10
205
+ // width: 0,
206
+ // height: 0
195
207
  }
196
208
  },
197
209
  // export: {