vxe-table 3.15.1 → 3.15.3

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 (61) 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/filter/mixin.js +29 -10
  6. package/es/table/module/filter/panel.js +173 -142
  7. package/es/table/src/body.js +5 -3
  8. package/es/table/src/footer.js +4 -2
  9. package/es/table/src/header.js +2 -1
  10. package/es/table/src/methods.js +125 -101
  11. package/es/table/src/table.js +3 -0
  12. package/es/table/style.css +18 -0
  13. package/es/table/style.min.css +1 -1
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-table/style.css +18 -0
  17. package/es/vxe-table/style.min.css +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +355 -262
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/filter/mixin.js +33 -9
  25. package/lib/table/module/filter/mixin.min.js +1 -1
  26. package/lib/table/module/filter/panel.js +153 -122
  27. package/lib/table/module/filter/panel.min.js +1 -1
  28. package/lib/table/src/body.js +5 -2
  29. package/lib/table/src/body.min.js +1 -1
  30. package/lib/table/src/footer.js +4 -2
  31. package/lib/table/src/footer.min.js +1 -1
  32. package/lib/table/src/header.js +2 -1
  33. package/lib/table/src/header.min.js +1 -1
  34. package/lib/table/src/methods.js +151 -122
  35. package/lib/table/src/methods.min.js +1 -1
  36. package/lib/table/src/table.js +3 -0
  37. package/lib/table/src/table.min.js +1 -1
  38. package/lib/table/style/style.css +18 -0
  39. package/lib/table/style/style.min.css +1 -1
  40. package/lib/ui/index.js +1 -1
  41. package/lib/ui/index.min.js +1 -1
  42. package/lib/ui/src/log.js +1 -1
  43. package/lib/ui/src/log.min.js +1 -1
  44. package/lib/vxe-table/style/style.css +18 -0
  45. package/lib/vxe-table/style/style.min.css +1 -1
  46. package/package.json +2 -2
  47. package/packages/table/module/filter/mixin.ts +27 -10
  48. package/packages/table/module/filter/panel.ts +178 -143
  49. package/packages/table/src/body.ts +5 -3
  50. package/packages/table/src/footer.ts +4 -2
  51. package/packages/table/src/header.ts +2 -1
  52. package/packages/table/src/methods.ts +132 -106
  53. package/packages/table/src/table.ts +3 -0
  54. package/styles/components/table-module/filter.scss +16 -0
  55. package/styles/components/table.scss +6 -1
  56. /package/es/{iconfont.1744336394111.ttf → iconfont.1744609828798.ttf} +0 -0
  57. /package/es/{iconfont.1744336394111.woff → iconfont.1744609828798.woff} +0 -0
  58. /package/es/{iconfont.1744336394111.woff2 → iconfont.1744609828798.woff2} +0 -0
  59. /package/lib/{iconfont.1744336394111.ttf → iconfont.1744609828798.ttf} +0 -0
  60. /package/lib/{iconfont.1744336394111.woff → iconfont.1744609828798.woff} +0 -0
  61. /package/lib/{iconfont.1744336394111.woff2 → iconfont.1744609828798.woff2} +0 -0
@@ -205,7 +205,7 @@ function restoreCustomStorage ($xeTable: VxeTableConstructor & VxeTablePrivateMe
205
205
  * 更新数据列的 Map
206
206
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
207
207
  */
208
- function cacheColumnMap ($xeTable: VxeTableConstructor) {
208
+ function cacheColumnMap ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
209
209
  const props = $xeTable
210
210
  const reactData = $xeTable as unknown as TableReactData
211
211
  const internalData = $xeTable as unknown as TableInternalData
@@ -315,7 +315,7 @@ function cacheColumnMap ($xeTable: VxeTableConstructor) {
315
315
  reactData.isAllOverflow = isAllOverflow
316
316
  }
317
317
 
318
- const updateScrollYStatus = ($xeTable: VxeTableConstructor, fullData?: any[]) => {
318
+ const updateScrollYStatus = ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, fullData?: any[]) => {
319
319
  const props = $xeTable
320
320
  const reactData = $xeTable as unknown as TableReactData
321
321
  const internalData = $xeTable as unknown as TableInternalData
@@ -331,7 +331,97 @@ const updateScrollYStatus = ($xeTable: VxeTableConstructor, fullData?: any[]) =>
331
331
  return scrollYLoad
332
332
  }
333
333
 
334
- function updateAfterListIndex ($xeTable: VxeTableConstructor) {
334
+ /**
335
+ * 展开与收起树节点
336
+ * @param rows
337
+ * @param expanded
338
+ * @returns
339
+ */
340
+ function handleBaseTreeExpand ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, rows: any[], expanded: boolean) {
341
+ const reactData = $xeTable as unknown as TableReactData
342
+ const internalData = $xeTable as unknown as TableInternalData
343
+
344
+ const { treeNodeColumn } = reactData
345
+ const { fullAllDataRowIdData, tableFullData, treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData
346
+ const treeOpts = $xeTable.computeTreeOpts
347
+ const { reserve, lazy, accordion, toggleMethod } = treeOpts
348
+ const childrenField = treeOpts.children || treeOpts.childrenField
349
+ const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
350
+ const result: any[] = []
351
+ const columnIndex = $xeTable.getColumnIndex(treeNodeColumn)
352
+ const $columnIndex = $xeTable.getVMColumnIndex(treeNodeColumn)
353
+ const { handleGetRowId } = createHandleGetRowId($xeTable)
354
+ let validRows = toggleMethod ? rows.filter((row: any) => toggleMethod({ $table: $xeTable, expanded, column: treeNodeColumn, columnIndex, $columnIndex, row })) : rows
355
+ if (accordion) {
356
+ validRows = validRows.length ? [validRows[validRows.length - 1]] : []
357
+ // 同一级只能展开一个
358
+ const matchObj = XEUtils.findTree(tableFullData, item => item === validRows[0], { children: childrenField })
359
+ if (matchObj) {
360
+ matchObj.items.forEach(item => {
361
+ const rowid = handleGetRowId(item)
362
+ if (treeExpandedMaps[rowid]) {
363
+ delete treeExpandedMaps[rowid]
364
+ }
365
+ })
366
+ }
367
+ }
368
+ if (expanded) {
369
+ validRows.forEach((row: any) => {
370
+ const rowid = handleGetRowId(row)
371
+ if (!treeExpandedMaps[rowid]) {
372
+ const rowRest = fullAllDataRowIdData[rowid]
373
+ if (rowRest) {
374
+ const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid]
375
+ // 是否使用懒加载
376
+ if (isLoad) {
377
+ result.push(handleAsyncTreeExpandChilds($xeTable, row))
378
+ } else {
379
+ if (row[childrenField] && row[childrenField].length) {
380
+ treeExpandedMaps[rowid] = row
381
+ }
382
+ }
383
+ }
384
+ }
385
+ })
386
+ } else {
387
+ validRows.forEach(item => {
388
+ const rowid = handleGetRowId(item)
389
+ if (treeExpandedMaps[rowid]) {
390
+ delete treeExpandedMaps[rowid]
391
+ }
392
+ })
393
+ }
394
+ if (reserve) {
395
+ validRows.forEach((row: any) => handleTreeExpandReserve($xeTable, row, expanded))
396
+ }
397
+ reactData.treeExpandedFlag++
398
+ return Promise.all(result).then(() => {
399
+ return $xeTable.recalculate()
400
+ })
401
+ }
402
+
403
+ /**
404
+ * 虚拟树的展开与收起
405
+ * @param rows
406
+ * @param expanded
407
+ * @returns
408
+ */
409
+ function handleVirtualTreeExpand ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, rows: any[], expanded: boolean) {
410
+ return handleBaseTreeExpand($xeTable, rows, expanded).then(() => {
411
+ handleVirtualTreeToList($xeTable)
412
+ $xeTable.handleTableData()
413
+ updateAfterDataIndex($xeTable)
414
+ return $xeTable.$nextTick()
415
+ }).then(() => {
416
+ return $xeTable.recalculate(true)
417
+ }).then(() => {
418
+ setTimeout(() => {
419
+ $xeTable.updateCellAreas()
420
+ }, 30)
421
+ })
422
+ }
423
+
424
+ function updateAfterListIndex ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
335
425
  const props = $xeTable
336
426
  const internalData = $xeTable as unknown as TableInternalData
337
427
 
@@ -362,7 +452,7 @@ function updateAfterListIndex ($xeTable: VxeTableConstructor) {
362
452
  * 预编译
363
453
  * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
364
454
  */
365
- function updateAfterDataIndex ($xeTable: VxeTableConstructor) {
455
+ function updateAfterDataIndex ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
366
456
  const props = $xeTable
367
457
  const internalData = $xeTable as unknown as TableInternalData
368
458
 
@@ -399,7 +489,7 @@ function updateAfterDataIndex ($xeTable: VxeTableConstructor) {
399
489
  * 如果为虚拟树,将树结构拍平
400
490
  * @returns
401
491
  */
402
- function handleVirtualTreeToList ($xeTable: VxeTableConstructor) {
492
+ function handleVirtualTreeToList ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
403
493
  const props = $xeTable
404
494
  const internalData = $xeTable as unknown as TableInternalData
405
495
 
@@ -3014,7 +3104,12 @@ const Methods = {
3014
3104
  $xeTable.checkSelectionStatus()
3015
3105
  return new Promise<void>(resolve => {
3016
3106
  this.$nextTick()
3017
- .then(() => $xeTable.recalculate())
3107
+ .then(() => handleRecalculateLayout($xeTable, false))
3108
+ .then(() => {
3109
+ calcCellHeight($xeTable)
3110
+ updateRowOffsetTop($xeTable)
3111
+ return handleRecalculateLayout($xeTable, false)
3112
+ })
3018
3113
  .then(() => {
3019
3114
  let targetScrollLeft = lastScrollLeft
3020
3115
  let targetScrollTop = lastScrollTop
@@ -3028,8 +3123,7 @@ const Methods = {
3028
3123
  targetScrollTop = 0
3029
3124
  }
3030
3125
  reactData.isRowLoading = false
3031
- calcCellHeight($xeTable)
3032
- updateRowOffsetTop($xeTable)
3126
+ handleRecalculateLayout($xeTable, false)
3033
3127
  // 是否变更虚拟滚动
3034
3128
  if (oldScrollYLoad === sYLoad) {
3035
3129
  restoreScrollLocation($xeTable, targetScrollLeft, targetScrollTop)
@@ -6654,6 +6748,10 @@ const Methods = {
6654
6748
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts
6655
6749
  const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod as any
6656
6750
  const { column: newValue } = params
6751
+ const { trigger } = currentColumnOpts
6752
+ if (trigger === 'manual') {
6753
+ return
6754
+ }
6657
6755
  const isChange = oldValue !== newValue
6658
6756
  if (!beforeRowMethod || beforeRowMethod({ column: newValue, $table: $xeTable })) {
6659
6757
  $xeTable.setCurrentColumn(newValue)
@@ -6673,6 +6771,10 @@ const Methods = {
6673
6771
  const currentRowOpts = $xeTable.computeCurrentRowOpts
6674
6772
  const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod as any
6675
6773
  const { row: newValue } = params
6774
+ const { trigger } = currentRowOpts
6775
+ if (trigger === 'manual') {
6776
+ return
6777
+ }
6676
6778
  const isChange = oldValue !== newValue
6677
6779
  if (!beforeRowMethod || beforeRowMethod({ row: newValue, $table: $xeTable })) {
6678
6780
  $xeTable.setCurrentRow(newValue)
@@ -8226,7 +8328,7 @@ const Methods = {
8226
8328
  internalData.rowExpandedMaps = rowExpandedMaps
8227
8329
  rows = rows.slice(rows.length - 1, rows.length)
8228
8330
  }
8229
- const validRows: any[] = toggleMethod ? rows.filter((row: any) => toggleMethod({ $table: $xeTable, expanded, column: expandColumn, columnIndex, $columnIndex, row, rowIndex: this.getRowIndex(row), $rowIndex: this.getVMRowIndex(row) })) : rows
8331
+ const validRows: any[] = toggleMethod ? rows.filter((row: any) => toggleMethod({ $table: $xeTable, expanded, column: expandColumn, columnIndex, $columnIndex, row, rowIndex: $xeTable.getRowIndex(row), $rowIndex: $xeTable.getVMRowIndex(row) })) : rows
8230
8332
  if (expanded) {
8231
8333
  validRows.forEach((row: any) => {
8232
8334
  const rowid = handleGetRowId(row)
@@ -8241,7 +8343,7 @@ const Methods = {
8241
8343
  }
8242
8344
  })
8243
8345
  } else {
8244
- validRows.forEach((item) => {
8346
+ validRows.forEach(item => {
8245
8347
  const rowid = handleGetRowId(item)
8246
8348
  if (rowExpandedMaps[rowid]) {
8247
8349
  delete rowExpandedMaps[rowid]
@@ -8441,10 +8543,10 @@ const Methods = {
8441
8543
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8442
8544
  const internalData = $xeTable as unknown as TableInternalData
8443
8545
 
8444
- const { treeExpandLazyLoadedMaps } = internalData
8546
+ const { treeExpandLazyLoadedMaps, treeEATime } = internalData
8445
8547
  const treeOpts = $xeTable.computeTreeOpts
8446
8548
  const { row, column } = params
8447
- const { lazy, trigger } = treeOpts
8549
+ const { lazy, trigger, accordion } = treeOpts
8448
8550
  if (trigger === 'manual') {
8449
8551
  return
8450
8552
  }
@@ -8454,7 +8556,17 @@ const Methods = {
8454
8556
  const expanded = !$xeTable.isTreeExpandByRow(row)
8455
8557
  const columnIndex = $xeTable.getColumnIndex(column)
8456
8558
  const $columnIndex = $xeTable.getVMColumnIndex(column)
8457
- $xeTable.setTreeExpand(row, expanded)
8559
+ if (treeEATime) {
8560
+ clearTimeout(treeEATime)
8561
+ }
8562
+ $xeTable.setTreeExpand(row, expanded).then(() => {
8563
+ if (accordion) {
8564
+ internalData.treeEATime = setTimeout(() => {
8565
+ internalData.treeEATime = undefined
8566
+ $xeTable.scrollToRow(row)
8567
+ }, 30)
8568
+ }
8569
+ })
8458
8570
  $xeTable.dispatchEvent('toggle-tree-expand', { expanded, column, columnIndex, $columnIndex, row }, evnt)
8459
8571
  }
8460
8572
  },
@@ -8481,96 +8593,6 @@ const Methods = {
8481
8593
  }, { children: childrenField })
8482
8594
  return this.setTreeExpand(expandeds, expanded)
8483
8595
  },
8484
- /**
8485
- * 默认,展开与收起树节点
8486
- * @param rows
8487
- * @param expanded
8488
- * @returns
8489
- */
8490
- handleBaseTreeExpand (rows: any, expanded: any) {
8491
- const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8492
- const reactData = $xeTable as unknown as TableReactData
8493
- const internalData = $xeTable as unknown as TableInternalData
8494
-
8495
- const { treeNodeColumn } = reactData
8496
- const { fullAllDataRowIdData, tableFullData, treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData
8497
- const treeOpts = $xeTable.computeTreeOpts
8498
- const { reserve, lazy, accordion, toggleMethod } = treeOpts
8499
- const childrenField = treeOpts.children || treeOpts.childrenField
8500
- const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
8501
- const result: any[] = []
8502
- const columnIndex = $xeTable.getColumnIndex(treeNodeColumn)
8503
- const $columnIndex = $xeTable.getVMColumnIndex(treeNodeColumn)
8504
- const { handleGetRowId } = createHandleGetRowId($xeTable)
8505
- let validRows = toggleMethod ? rows.filter((row: any) => toggleMethod({ $table: $xeTable, expanded, column: treeNodeColumn, columnIndex, $columnIndex, row })) : rows
8506
- if (accordion) {
8507
- validRows = validRows.length ? [validRows[validRows.length - 1]] : []
8508
- // 同一级只能展开一个
8509
- const matchObj = XEUtils.findTree(tableFullData, item => item === validRows[0], { children: childrenField })
8510
- if (matchObj) {
8511
- matchObj.items.forEach(item => {
8512
- const rowid = handleGetRowId(item)
8513
- if (treeExpandedMaps[rowid]) {
8514
- delete treeExpandedMaps[rowid]
8515
- }
8516
- })
8517
- }
8518
- }
8519
- if (expanded) {
8520
- validRows.forEach((row: any) => {
8521
- const rowid = handleGetRowId(row)
8522
- if (!treeExpandedMaps[rowid]) {
8523
- const rowRest = fullAllDataRowIdData[rowid]
8524
- if (rowRest) {
8525
- const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid]
8526
- // 是否使用懒加载
8527
- if (isLoad) {
8528
- result.push(handleAsyncTreeExpandChilds($xeTable, row))
8529
- } else {
8530
- if (row[childrenField] && row[childrenField].length) {
8531
- treeExpandedMaps[rowid] = row
8532
- }
8533
- }
8534
- }
8535
- }
8536
- })
8537
- } else {
8538
- validRows.forEach((item: any) => {
8539
- const rowid = handleGetRowId(item)
8540
- if (treeExpandedMaps[rowid]) {
8541
- delete treeExpandedMaps[rowid]
8542
- }
8543
- })
8544
- }
8545
- if (reserve) {
8546
- validRows.forEach((row: any) => handleTreeExpandReserve($xeTable, row, expanded))
8547
- }
8548
- reactData.treeExpandedFlag++
8549
- return Promise.all(result).then(() => {
8550
- return $xeTable.recalculate()
8551
- })
8552
- },
8553
- /**
8554
- * 虚拟树的展开与收起
8555
- * @param rows
8556
- * @param expanded
8557
- * @returns
8558
- */
8559
- handleVirtualTreeExpand (rows: any[], expanded: boolean) {
8560
- const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8561
-
8562
- return this.handleBaseTreeExpand(rows, expanded).then(() => {
8563
- handleVirtualTreeToList($xeTable)
8564
- this.handleTableData()
8565
- updateAfterDataIndex($xeTable)
8566
- }).then(() => {
8567
- return this.recalculate()
8568
- }).then(() => {
8569
- setTimeout(() => {
8570
- this.updateCellAreas()
8571
- }, 30)
8572
- })
8573
- },
8574
8596
  /**
8575
8597
  * 设置展开树形节点,二个参数设置这一行展开与否
8576
8598
  * 支持单行
@@ -8579,6 +8601,8 @@ const Methods = {
8579
8601
  * @param {Boolean} expanded 是否展开
8580
8602
  */
8581
8603
  setTreeExpand (rows: any | any[], expanded: boolean) {
8604
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8605
+
8582
8606
  const { treeOpts } = this
8583
8607
  const { transform } = treeOpts
8584
8608
  if (rows) {
@@ -8588,9 +8612,9 @@ const Methods = {
8588
8612
  if (rows.length) {
8589
8613
  // 如果为虚拟树
8590
8614
  if (transform) {
8591
- return this.handleVirtualTreeExpand(rows, expanded)
8615
+ return handleVirtualTreeExpand($xeTable, rows, expanded)
8592
8616
  } else {
8593
- return this.handleBaseTreeExpand(rows, expanded)
8617
+ return handleBaseTreeExpand($xeTable, rows, expanded)
8594
8618
  }
8595
8619
  }
8596
8620
  }
@@ -9225,7 +9249,8 @@ const Methods = {
9225
9249
  if (isScrollXBig && mouseOpts.area) {
9226
9250
  errLog('vxe.error.notProp', ['mouse-config.area'])
9227
9251
  }
9228
- $xeTable.$nextTick(() => {
9252
+ calcScrollbar($xeTable)
9253
+ return $xeTable.$nextTick(() => {
9229
9254
  updateStyle($xeTable)
9230
9255
  })
9231
9256
  }
@@ -9335,6 +9360,7 @@ const Methods = {
9335
9360
  if (isScrollYBig && mouseOpts.area) {
9336
9361
  errLog('vxe.error.notProp', ['mouse-config.area'])
9337
9362
  }
9363
+ calcScrollbar($xeTable)
9338
9364
  return $xeTable.$nextTick().then(() => {
9339
9365
  updateStyle($xeTable)
9340
9366
  })
@@ -1495,6 +1495,9 @@ export default {
1495
1495
  if (this.highlightHoverColumn) {
1496
1496
  warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover'])
1497
1497
  }
1498
+ if (props.resizable) {
1499
+ warnLog('vxe.error.delProp', ['resizable', 'column-config.resizable'])
1500
+ }
1498
1501
  // if (props.scrollY) {
1499
1502
  // warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
1500
1503
  // }
@@ -33,9 +33,11 @@
33
33
  position: absolute;
34
34
  top: 0;
35
35
  min-width: 100px;
36
+ font-size: var(--vxe-ui-font-size-default);
36
37
  border-radius: var(--vxe-ui-border-radius);
37
38
  background-color: var(--vxe-ui-layout-background-color);
38
39
  border: 1px solid var(--vxe-ui-base-popup-border-color);
40
+ color: var(--vxe-ui-font-color);
39
41
  box-shadow: var(--vxe-ui-base-popup-box-shadow);
40
42
  z-index: 10;
41
43
  &:not(.is--multiple) {
@@ -110,3 +112,17 @@
110
112
  .vxe-table--filter-option {
111
113
  @include baseMixin.createCheckboxIcon();
112
114
  }
115
+
116
+
117
+
118
+ .vxe-table--filter-wrapper {
119
+ &.size--medium {
120
+ font-size: var(--vxe-ui-font-size-medium);
121
+ }
122
+ &.size--small {
123
+ font-size: var(--vxe-ui-font-size-small);
124
+ }
125
+ &.size--mini {
126
+ font-size: var(--vxe-ui-font-size-mini);
127
+ }
128
+ }
@@ -1617,10 +1617,12 @@
1617
1617
  height: 1em;
1618
1618
  text-align: center;
1619
1619
  transform: translateY(-50%);
1620
- // background-color: var(--vxe-ui-layout-background-color);
1621
1620
  z-index: 1;
1622
1621
  user-select: none;
1623
1622
  cursor: pointer;
1623
+ & > i {
1624
+ background-color: var(--vxe-ui-layout-background-color);
1625
+ }
1624
1626
  }
1625
1627
  .vxe-tree--node-btn {
1626
1628
  display: block;
@@ -1650,6 +1652,9 @@
1650
1652
  &.col--rs-height,
1651
1653
  &.col--auto-height {
1652
1654
  overflow: hidden;
1655
+ &.col--tree-node {
1656
+ overflow: unset;
1657
+ }
1653
1658
  & > .vxe-cell {
1654
1659
  overflow: hidden;
1655
1660
  }