vxe-table 4.19.14 → 4.19.16

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 (161) hide show
  1. package/dist/all.esm.js +139 -35
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +7 -0
  7. package/es/locale/lang/de-DE.js +7 -0
  8. package/es/locale/lang/en-US.js +7 -0
  9. package/es/locale/lang/es-ES.js +7 -0
  10. package/es/locale/lang/fr-FR.js +7 -0
  11. package/es/locale/lang/hu-HU.js +7 -0
  12. package/es/locale/lang/hy-AM.js +7 -0
  13. package/es/locale/lang/id-ID.js +7 -0
  14. package/es/locale/lang/it-IT.js +7 -0
  15. package/es/locale/lang/ja-JP.js +7 -0
  16. package/es/locale/lang/ko-KR.js +7 -0
  17. package/es/locale/lang/ms-MY.js +7 -0
  18. package/es/locale/lang/nb-NO.js +7 -0
  19. package/es/locale/lang/pt-BR.js +7 -0
  20. package/es/locale/lang/ru-RU.js +7 -0
  21. package/es/locale/lang/th-TH.js +7 -0
  22. package/es/locale/lang/ug-CN.js +7 -0
  23. package/es/locale/lang/uk-UA.js +7 -0
  24. package/es/locale/lang/uz-UZ.js +7 -0
  25. package/es/locale/lang/vi-VN.js +7 -0
  26. package/es/locale/lang/zh-CHT.js +7 -0
  27. package/es/locale/lang/zh-CN.js +7 -0
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/export/hook.js +22 -3
  31. package/es/table/render/index.js +46 -18
  32. package/es/table/src/header.js +6 -3
  33. package/es/table/src/table.js +56 -9
  34. package/es/table/style.css +10 -5
  35. package/es/table/style.min.css +1 -1
  36. package/es/ui/index.js +1 -1
  37. package/es/ui/src/log.js +1 -1
  38. package/es/vxe-table/style.css +10 -5
  39. package/es/vxe-table/style.min.css +1 -1
  40. package/lib/index.css +1 -1
  41. package/lib/index.min.css +1 -1
  42. package/lib/index.umd.js +113 -30
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/locale/lang/ar-EG.js +7 -0
  45. package/lib/locale/lang/ar-EG.min.js +1 -1
  46. package/lib/locale/lang/ar-EG.umd.js +7 -0
  47. package/lib/locale/lang/de-DE.js +7 -0
  48. package/lib/locale/lang/de-DE.min.js +1 -1
  49. package/lib/locale/lang/de-DE.umd.js +7 -0
  50. package/lib/locale/lang/en-US.js +7 -0
  51. package/lib/locale/lang/en-US.min.js +1 -1
  52. package/lib/locale/lang/en-US.umd.js +7 -0
  53. package/lib/locale/lang/es-ES.js +7 -0
  54. package/lib/locale/lang/es-ES.min.js +1 -1
  55. package/lib/locale/lang/es-ES.umd.js +7 -0
  56. package/lib/locale/lang/fr-FR.js +7 -0
  57. package/lib/locale/lang/fr-FR.min.js +1 -1
  58. package/lib/locale/lang/fr-FR.umd.js +7 -0
  59. package/lib/locale/lang/hu-HU.js +7 -0
  60. package/lib/locale/lang/hu-HU.min.js +1 -1
  61. package/lib/locale/lang/hu-HU.umd.js +7 -0
  62. package/lib/locale/lang/hy-AM.js +7 -0
  63. package/lib/locale/lang/hy-AM.min.js +1 -1
  64. package/lib/locale/lang/hy-AM.umd.js +7 -0
  65. package/lib/locale/lang/id-ID.js +7 -0
  66. package/lib/locale/lang/id-ID.min.js +1 -1
  67. package/lib/locale/lang/id-ID.umd.js +7 -0
  68. package/lib/locale/lang/it-IT.js +7 -0
  69. package/lib/locale/lang/it-IT.min.js +1 -1
  70. package/lib/locale/lang/it-IT.umd.js +7 -0
  71. package/lib/locale/lang/ja-JP.js +7 -0
  72. package/lib/locale/lang/ja-JP.min.js +1 -1
  73. package/lib/locale/lang/ja-JP.umd.js +7 -0
  74. package/lib/locale/lang/ko-KR.js +7 -0
  75. package/lib/locale/lang/ko-KR.min.js +1 -1
  76. package/lib/locale/lang/ko-KR.umd.js +7 -0
  77. package/lib/locale/lang/ms-MY.js +7 -0
  78. package/lib/locale/lang/ms-MY.min.js +1 -1
  79. package/lib/locale/lang/ms-MY.umd.js +7 -0
  80. package/lib/locale/lang/nb-NO.js +7 -0
  81. package/lib/locale/lang/nb-NO.min.js +1 -1
  82. package/lib/locale/lang/nb-NO.umd.js +7 -0
  83. package/lib/locale/lang/pt-BR.js +7 -0
  84. package/lib/locale/lang/pt-BR.min.js +1 -1
  85. package/lib/locale/lang/pt-BR.umd.js +7 -0
  86. package/lib/locale/lang/ru-RU.js +7 -0
  87. package/lib/locale/lang/ru-RU.min.js +1 -1
  88. package/lib/locale/lang/ru-RU.umd.js +7 -0
  89. package/lib/locale/lang/th-TH.js +7 -0
  90. package/lib/locale/lang/th-TH.min.js +1 -1
  91. package/lib/locale/lang/th-TH.umd.js +7 -0
  92. package/lib/locale/lang/ug-CN.js +7 -0
  93. package/lib/locale/lang/ug-CN.min.js +1 -1
  94. package/lib/locale/lang/ug-CN.umd.js +7 -0
  95. package/lib/locale/lang/uk-UA.js +7 -0
  96. package/lib/locale/lang/uk-UA.min.js +1 -1
  97. package/lib/locale/lang/uk-UA.umd.js +7 -0
  98. package/lib/locale/lang/uz-UZ.js +7 -0
  99. package/lib/locale/lang/uz-UZ.min.js +1 -1
  100. package/lib/locale/lang/uz-UZ.umd.js +7 -0
  101. package/lib/locale/lang/vi-VN.js +7 -0
  102. package/lib/locale/lang/vi-VN.min.js +1 -1
  103. package/lib/locale/lang/vi-VN.umd.js +7 -0
  104. package/lib/locale/lang/zh-CHT.js +7 -0
  105. package/lib/locale/lang/zh-CHT.min.js +1 -1
  106. package/lib/locale/lang/zh-CHT.umd.js +7 -0
  107. package/lib/locale/lang/zh-CN.js +7 -0
  108. package/lib/locale/lang/zh-CN.min.js +1 -1
  109. package/lib/locale/lang/zh-CN.umd.js +7 -0
  110. package/lib/style.css +1 -1
  111. package/lib/style.min.css +1 -1
  112. package/lib/table/module/export/hook.js +26 -3
  113. package/lib/table/module/export/hook.min.js +1 -1
  114. package/lib/table/render/index.js +62 -18
  115. package/lib/table/render/index.min.js +1 -1
  116. package/lib/table/src/header.js +7 -3
  117. package/lib/table/src/header.min.js +1 -1
  118. package/lib/table/src/table.js +9 -4
  119. package/lib/table/src/table.min.js +1 -1
  120. package/lib/table/style/style.css +10 -5
  121. package/lib/table/style/style.min.css +1 -1
  122. package/lib/ui/index.js +1 -1
  123. package/lib/ui/index.min.js +1 -1
  124. package/lib/ui/src/log.js +1 -1
  125. package/lib/ui/src/log.min.js +1 -1
  126. package/lib/vxe-table/style/style.css +10 -5
  127. package/lib/vxe-table/style/style.min.css +1 -1
  128. package/package.json +2 -2
  129. package/packages/locale/lang/ar-EG.ts +7 -0
  130. package/packages/locale/lang/de-DE.ts +7 -0
  131. package/packages/locale/lang/en-US.ts +7 -0
  132. package/packages/locale/lang/es-ES.ts +7 -0
  133. package/packages/locale/lang/fr-FR.ts +7 -0
  134. package/packages/locale/lang/hu-HU.ts +7 -0
  135. package/packages/locale/lang/hy-AM.ts +7 -0
  136. package/packages/locale/lang/id-ID.ts +7 -0
  137. package/packages/locale/lang/it-IT.ts +7 -0
  138. package/packages/locale/lang/ja-JP.ts +7 -0
  139. package/packages/locale/lang/ko-KR.ts +7 -0
  140. package/packages/locale/lang/ms-MY.ts +7 -0
  141. package/packages/locale/lang/nb-NO.ts +7 -0
  142. package/packages/locale/lang/pt-BR.ts +7 -0
  143. package/packages/locale/lang/ru-RU.ts +7 -0
  144. package/packages/locale/lang/th-TH.ts +7 -0
  145. package/packages/locale/lang/ug-CN.ts +7 -0
  146. package/packages/locale/lang/uk-UA.ts +7 -0
  147. package/packages/locale/lang/uz-UZ.ts +7 -0
  148. package/packages/locale/lang/vi-VN.ts +7 -0
  149. package/packages/locale/lang/zh-CHT.ts +7 -0
  150. package/packages/locale/lang/zh-CN.ts +7 -0
  151. package/packages/table/module/export/hook.ts +23 -4
  152. package/packages/table/render/index.ts +46 -18
  153. package/packages/table/src/header.ts +6 -3
  154. package/packages/table/src/table.ts +57 -10
  155. package/styles/components/table.scss +8 -4
  156. /package/es/{iconfont.1781257692019.ttf → iconfont.1781753820219.ttf} +0 -0
  157. /package/es/{iconfont.1781257692019.woff → iconfont.1781753820219.woff} +0 -0
  158. /package/es/{iconfont.1781257692019.woff2 → iconfont.1781753820219.woff2} +0 -0
  159. /package/lib/{iconfont.1781257692019.ttf → iconfont.1781753820219.ttf} +0 -0
  160. /package/lib/{iconfont.1781257692019.woff → iconfont.1781753820219.woff} +0 -0
  161. /package/lib/{iconfont.1781257692019.woff2 → iconfont.1781753820219.woff2} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.19.14",
3
+ "version": "4.19.16",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -69,7 +69,7 @@
69
69
  "typescript": "~4.7.4",
70
70
  "vue": "3.4.27",
71
71
  "vue-router": "~4.5.1",
72
- "vxe-pc-ui": "4.14.36"
72
+ "vxe-pc-ui": "4.15.2"
73
73
  },
74
74
  "vetur": {
75
75
  "tags": "helper/vetur/tags.json",
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0}',
352
352
  monthLabel: '{0}'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '¥'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '$'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '¥'
356
363
  },
@@ -351,6 +351,13 @@ export default {
351
351
  yearLabel: '{0} 年',
352
352
  monthLabel: '{0} 月'
353
353
  },
354
+ cascader: {
355
+ clearChecked: '清除',
356
+ allChecked: '全选',
357
+ total: '已选 {0} 项',
358
+ close: '关闭',
359
+ search: '搜索'
360
+ },
354
361
  numberInput: {
355
362
  currencySymbol: '¥'
356
363
  },
@@ -715,7 +715,7 @@ hooks.add('tableExportModule', {
715
715
  const toHtml = (opts: VxeTablePropTypes.ExportHandleOptions, columns: VxeTableDefines.ColumnInfo[], datas: any[]) => {
716
716
  const { id, border, treeConfig, headerAlign: allHeaderAlign, align: allAlign, footerAlign: allFooterAlign, showOverflow: allColumnOverflow, showHeaderOverflow: allColumnHeaderOverflow } = props
717
717
  const { isAllSelected, isIndeterminate } = reactData
718
- const { mergeBodyCellMaps } = internalData
718
+ const { mergeBodyCellMaps, mergeFooterCellMaps } = internalData
719
719
  const treeOpts = computeTreeOpts.value
720
720
  const { print: isPrint, isHeader, isFooter, isColgroup, isMerge, colgroups, original } = opts
721
721
  const allCls = 'check-all'
@@ -856,16 +856,35 @@ hooks.add('tableExportModule', {
856
856
  const footers = getFooterData($xeTable, opts, footerTableData)
857
857
  if (footers.length) {
858
858
  tables.push('<tfoot>')
859
- footers.forEach((row: any) => {
859
+ footers.forEach((row, rIndex) => {
860
860
  tables.push(
861
- `<tr>${columns.map((column: any) => {
861
+ `<tr>${columns.map((column) => {
862
862
  const footAlign = column.footerAlign || column.align || allFooterAlign || allAlign
863
863
  const classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []
864
864
  const cellValue = getFooterCellValue(opts, row, column)
865
+ let rowSpan = 1
866
+ let colSpan = 1
867
+ if (isMerge) {
868
+ const _rowIndex = rIndex
869
+ const _columnIndex = $xeTable.getVTColumnIndex(column)
870
+ const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`]
871
+ if (spanRest) {
872
+ const { rowspan, colspan } = spanRest
873
+ if (!rowspan || !colspan) {
874
+ return ''
875
+ }
876
+ if (rowspan > 1) {
877
+ rowSpan = rowspan
878
+ }
879
+ if (colspan > 1) {
880
+ colSpan = colspan
881
+ }
882
+ }
883
+ }
865
884
  if (footAlign) {
866
885
  classNames.push(`col--${footAlign}`)
867
886
  }
868
- return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`
887
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`
869
888
  }).join('')}</tr>`
870
889
  )
871
890
  })
@@ -882,7 +882,7 @@ function handleSetTreeSelectValue (renderOpts: VxeGlobalRendererHandles.RenderTa
882
882
  */
883
883
  renderer.mixin({
884
884
  input: {
885
- tableAutoFocus: 'input',
885
+ tableAutoFocus: true,
886
886
  renderTableEdit: nativeEditRender,
887
887
  renderTableDefault: nativeEditRender,
888
888
  createTableFilterOptions: defaultFilterOptions,
@@ -890,7 +890,7 @@ renderer.mixin({
890
890
  tableFilterDefaultMethod: handleInputFilterMethod
891
891
  },
892
892
  textarea: {
893
- tableAutoFocus: 'textarea',
893
+ tableAutoFocus: true,
894
894
  renderTableEdit: nativeEditRender
895
895
  },
896
896
  select: {
@@ -936,7 +936,7 @@ renderer.mixin({
936
936
  tableExportMethod: handleExportSelectMethod
937
937
  },
938
938
  VxeInput: {
939
- tableAutoFocus: 'input',
939
+ tableAutoFocus: true,
940
940
  renderTableEdit: defaultEditRender,
941
941
  renderTableCell (renderOpts, params) {
942
942
  const { props = {} } = renderOpts
@@ -976,7 +976,7 @@ renderer.mixin({
976
976
  }
977
977
  },
978
978
  VxeNumberInput: {
979
- tableAutoFocus: 'input',
979
+ tableAutoFocus: true,
980
980
  renderTableEdit: defaultEditRender,
981
981
  renderTableCell: handleNumberCell,
982
982
  renderTableFooter (renderOpts, params) {
@@ -1027,7 +1027,7 @@ renderer.mixin({
1027
1027
  }
1028
1028
  },
1029
1029
  VxeDatePicker: {
1030
- tableAutoFocus: 'input',
1030
+ tableAutoFocus: true,
1031
1031
  renderTableEdit: defaultEditRender,
1032
1032
  renderTableCell (renderOpts, params) {
1033
1033
  const props = renderOpts.props || {}
@@ -1053,7 +1053,7 @@ renderer.mixin({
1053
1053
  tableFilterDefaultMethod: handleFilterMethod
1054
1054
  },
1055
1055
  VxeDateRangePicker: {
1056
- tableAutoFocus: 'input',
1056
+ tableAutoFocus: true,
1057
1057
  renderTableEdit (renderOpts, params: VxeGlobalRendererHandles.RenderTableEditParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
1058
1058
  const { startField, endField } = renderOpts
1059
1059
  const { $table, row, column } = params
@@ -1157,7 +1157,7 @@ renderer.mixin({
1157
1157
  }
1158
1158
  },
1159
1159
  VxeTextarea: {
1160
- tableAutoFocus: 'textarea',
1160
+ tableAutoFocus: true,
1161
1161
  renderTableDefault: defaultEditRender,
1162
1162
  renderTableEdit: defaultEditRender,
1163
1163
  renderTableCell (renderOpts, params) {
@@ -1182,7 +1182,7 @@ renderer.mixin({
1182
1182
  }
1183
1183
  },
1184
1184
  VxeSelect: {
1185
- tableAutoFocus: 'input',
1185
+ tableAutoFocus: true,
1186
1186
  renderTableEdit: defaultSelectEditRender,
1187
1187
  renderTableDefault: defaultSelectEditRender,
1188
1188
  renderTableCell (renderOpts, params) {
@@ -1300,7 +1300,7 @@ renderer.mixin({
1300
1300
  tableExportMethod: handleExportSelectMethod
1301
1301
  },
1302
1302
  VxeTreeSelect: {
1303
- tableAutoFocus: 'input',
1303
+ tableAutoFocus: true,
1304
1304
  renderTableEdit: defaultTableOrTreeSelectEditRender,
1305
1305
  renderTableCell (renderOpts, params) {
1306
1306
  const { options, optionGroups } = renderOpts
@@ -1362,8 +1362,36 @@ renderer.mixin({
1362
1362
  tableCellPasteMethod: handleSetTreeSelectValue,
1363
1363
  tableExportMethod: handleExportTreeSelectMethod
1364
1364
  },
1365
+ VxeCascader: {
1366
+ tableAutoFocus: true,
1367
+ renderTableEdit: defaultTableOrTreeSelectEditRender,
1368
+ renderTableCell (renderOpts, params) {
1369
+ const { options, optionGroups } = renderOpts
1370
+ const { $table, row, column } = params
1371
+ const opSize = options ? options.length : null
1372
+ const ogSize = optionGroups ? optionGroups.length : null
1373
+ const { cellResult } = $table.effectCellData(row, column, {
1374
+ key: 'render_table_cell',
1375
+ isChanged ({ oldValue, cellValue }) {
1376
+ return oldValue && oldValue[0] === cellValue && oldValue[1] === opSize && oldValue[2] === ogSize
1377
+ },
1378
+ setValue ({ cellValue }) {
1379
+ return [cellValue, opSize, ogSize]
1380
+ },
1381
+ getResult ({ cellValue }) {
1382
+ return handleTreeSelectCellValue(cellValue, renderOpts)
1383
+ }
1384
+ })
1385
+ // const cellResult = getTreeSelectCellValue(renderOpts, params)
1386
+ return getCellLabelVNs(renderOpts, params, cellResult)
1387
+ },
1388
+ tableCellFormatter: handleFormatTreeSelect,
1389
+ tableCellCopyMethod: handleFormatTreeSelect,
1390
+ tableCellPasteMethod: handleSetTreeSelectValue,
1391
+ tableExportMethod: handleExportTreeSelectMethod
1392
+ },
1365
1393
  VxeTableSelect: {
1366
- tableAutoFocus: 'input',
1394
+ tableAutoFocus: true,
1367
1395
  renderTableEdit: defaultTableOrTreeSelectEditRender,
1368
1396
  renderTableCell (renderOpts, params) {
1369
1397
  const { options, optionGroups } = renderOpts
@@ -1391,7 +1419,7 @@ renderer.mixin({
1391
1419
  tableExportMethod: handleExportTreeSelectMethod
1392
1420
  },
1393
1421
  VxeColorPicker: {
1394
- tableAutoFocus: 'input',
1422
+ tableAutoFocus: true,
1395
1423
  renderTableEdit (renderOpts, params: VxeGlobalRendererHandles.RenderTableEditParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
1396
1424
  const { row, column } = params
1397
1425
  const { options } = renderOpts
@@ -1419,7 +1447,7 @@ renderer.mixin({
1419
1447
  }
1420
1448
  },
1421
1449
  VxeIconPicker: {
1422
- tableAutoFocus: 'input',
1450
+ tableAutoFocus: true,
1423
1451
  renderTableEdit (renderOpts, params: VxeGlobalRendererHandles.RenderTableEditParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
1424
1452
  const { row, column } = params
1425
1453
  const { options } = renderOpts
@@ -1509,7 +1537,7 @@ renderer.mixin({
1509
1537
 
1510
1538
  // 以下已废弃
1511
1539
  $input: {
1512
- tableAutoFocus: '.vxe-input--inner',
1540
+ tableAutoFocus: 'input',
1513
1541
  renderTableEdit: oldEditRender,
1514
1542
  renderTableCell (renderOpts, params) {
1515
1543
  const { props = {} } = renderOpts
@@ -1536,7 +1564,7 @@ renderer.mixin({
1536
1564
  tableFilterDefaultMethod: handleInputFilterMethod
1537
1565
  },
1538
1566
  $textarea: {
1539
- tableAutoFocus: '.vxe-textarea--inner'
1567
+ tableAutoFocus: 'textarea'
1540
1568
  },
1541
1569
  $button: {
1542
1570
  renderTableDefault: oldButtonEditRender
@@ -1545,7 +1573,7 @@ renderer.mixin({
1545
1573
  renderTableDefault: oldButtonsEditRender
1546
1574
  },
1547
1575
  $select: {
1548
- tableAutoFocus: '.vxe-input--inner',
1576
+ tableAutoFocus: 'input',
1549
1577
  renderTableEdit: oldSelectEditRender,
1550
1578
  renderTableDefault: oldSelectEditRender,
1551
1579
  renderTableCell (renderOpts, params) {
@@ -1567,13 +1595,13 @@ renderer.mixin({
1567
1595
  tableExportMethod: handleExportSelectMethod
1568
1596
  },
1569
1597
  $radio: {
1570
- tableAutoFocus: '.vxe-radio--input'
1598
+ tableAutoFocus: 'input'
1571
1599
  },
1572
1600
  $checkbox: {
1573
- tableAutoFocus: '.vxe-checkbox--input'
1601
+ tableAutoFocus: 'input'
1574
1602
  },
1575
1603
  $switch: {
1576
- tableAutoFocus: '.vxe-switch--button',
1604
+ tableAutoFocus: 'button',
1577
1605
  renderTableEdit: oldEditRender,
1578
1606
  renderTableDefault: oldEditRender
1579
1607
  }
@@ -263,6 +263,8 @@ export default defineVxeComponent({
263
263
  const cellOpts = computeCellOpts.value
264
264
  const defaultRowHeight = computeDefaultRowHeight.value
265
265
  const headerCellOpts = computeHeaderCellOpts.value
266
+ const floatingFilterOpts = computeFloatingFilterOpts.value
267
+ const { cellClassName } = floatingFilterOpts
266
268
  const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight
267
269
 
268
270
  return cols.map((column, $columnIndex) => {
@@ -322,7 +324,7 @@ export default defineVxeComponent({
322
324
  }
323
325
 
324
326
  return h('th', {
325
- class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
327
+ class: ['vxe-table--column vxe-header--column is--floating-filters', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
326
328
  [`col--${headAlign}`]: headAlign,
327
329
  [`col--${type}`]: type,
328
330
  'col--last': isLastColumn,
@@ -338,7 +340,7 @@ export default defineVxeComponent({
338
340
  ...thAttrs
339
341
  }, [
340
342
  h('div', {
341
- class: ['vxe-cell', {
343
+ class: ['vxe-cell', '' + (cellClassName || ''), {
342
344
  'c--title': showTitle,
343
345
  'c--tooltip': showTooltip,
344
346
  'c--ellipsis': showEllipsis
@@ -382,7 +384,8 @@ export default defineVxeComponent({
382
384
  h('tr', {
383
385
  key: 'ff',
384
386
  class: [
385
- 'vxe-header--row'
387
+ 'vxe-header--row is--floating-filters',
388
+ '' + (floatingFilterOpts.rowClassName || '')
386
389
  ]
387
390
  }, renderFilterRows(isOptimizeMode, renderColumnList))
388
391
  )