vxe-table 3.14.0-beta.2 → 3.14.0-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 (165) hide show
  1. package/es/grid/src/grid.js +78 -48
  2. package/es/locale/lang/ar-EG.js +7 -1
  3. package/es/locale/lang/de-DE.js +7 -1
  4. package/es/locale/lang/en-US.js +7 -1
  5. package/es/locale/lang/es-ES.js +7 -1
  6. package/es/locale/lang/fr-FR.js +7 -1
  7. package/es/locale/lang/hu-HU.js +7 -1
  8. package/es/locale/lang/hy-AM.js +7 -1
  9. package/es/locale/lang/id-ID.js +7 -1
  10. package/es/locale/lang/it-IT.js +7 -1
  11. package/es/locale/lang/ja-JP.js +7 -1
  12. package/es/locale/lang/ko-KR.js +7 -1
  13. package/es/locale/lang/nb-NO.js +7 -1
  14. package/es/locale/lang/pt-BR.js +7 -1
  15. package/es/locale/lang/ru-RU.js +7 -1
  16. package/es/locale/lang/th-TH.js +7 -1
  17. package/es/locale/lang/ug-CN.js +7 -1
  18. package/es/locale/lang/uk-UA.js +7 -1
  19. package/es/locale/lang/vi-VN.js +7 -1
  20. package/es/locale/lang/zh-CHT.js +7 -1
  21. package/es/locale/lang/zh-CN.js +7 -1
  22. package/es/style.css +1 -1
  23. package/es/table/module/edit/mixin.js +14 -9
  24. package/es/table/module/filter/panel.js +12 -2
  25. package/es/table/module/keyboard/mixin.js +86 -21
  26. package/es/table/module/validator/mixin.js +2 -2
  27. package/es/table/render/index.js +90 -59
  28. package/es/table/src/body.js +22 -17
  29. package/es/table/src/cell.js +25 -20
  30. package/es/table/src/footer.js +9 -4
  31. package/es/table/src/header.js +2 -2
  32. package/es/table/src/methods.js +942 -678
  33. package/es/table/src/props.js +4 -0
  34. package/es/table/src/table.js +74 -32
  35. package/es/table/src/util.js +65 -7
  36. package/es/ui/index.js +1 -1
  37. package/es/ui/src/log.js +1 -1
  38. package/helper/vetur/attributes.json +1 -1
  39. package/helper/vetur/tags.json +1 -1
  40. package/lib/grid/src/grid.js +85 -65
  41. package/lib/grid/src/grid.min.js +1 -1
  42. package/lib/index.umd.js +1641 -1076
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/locale/lang/ar-EG.js +7 -1
  45. package/lib/locale/lang/ar-EG.min.js +1 -1
  46. package/lib/locale/lang/de-DE.js +7 -1
  47. package/lib/locale/lang/de-DE.min.js +1 -1
  48. package/lib/locale/lang/en-US.js +7 -1
  49. package/lib/locale/lang/en-US.min.js +1 -1
  50. package/lib/locale/lang/en-US.umd.js +7 -1
  51. package/lib/locale/lang/es-ES.js +7 -1
  52. package/lib/locale/lang/es-ES.min.js +1 -1
  53. package/lib/locale/lang/es-ES.umd.js +7 -1
  54. package/lib/locale/lang/fr-FR.js +7 -1
  55. package/lib/locale/lang/fr-FR.min.js +1 -1
  56. package/lib/locale/lang/hu-HU.js +7 -1
  57. package/lib/locale/lang/hu-HU.min.js +1 -1
  58. package/lib/locale/lang/hu-HU.umd.js +7 -1
  59. package/lib/locale/lang/hy-AM.js +7 -1
  60. package/lib/locale/lang/hy-AM.min.js +1 -1
  61. package/lib/locale/lang/id-ID.js +7 -1
  62. package/lib/locale/lang/id-ID.min.js +1 -1
  63. package/lib/locale/lang/it-IT.js +7 -1
  64. package/lib/locale/lang/it-IT.min.js +1 -1
  65. package/lib/locale/lang/ja-JP.js +7 -1
  66. package/lib/locale/lang/ja-JP.min.js +1 -1
  67. package/lib/locale/lang/ja-JP.umd.js +7 -1
  68. package/lib/locale/lang/ko-KR.js +7 -1
  69. package/lib/locale/lang/ko-KR.min.js +1 -1
  70. package/lib/locale/lang/ko-KR.umd.js +7 -1
  71. package/lib/locale/lang/nb-NO.js +7 -1
  72. package/lib/locale/lang/nb-NO.min.js +1 -1
  73. package/lib/locale/lang/pt-BR.js +7 -1
  74. package/lib/locale/lang/pt-BR.min.js +1 -1
  75. package/lib/locale/lang/pt-BR.umd.js +7 -1
  76. package/lib/locale/lang/ru-RU.js +7 -1
  77. package/lib/locale/lang/ru-RU.min.js +1 -1
  78. package/lib/locale/lang/ru-RU.umd.js +7 -1
  79. package/lib/locale/lang/th-TH.js +7 -1
  80. package/lib/locale/lang/th-TH.min.js +1 -1
  81. package/lib/locale/lang/ug-CN.js +7 -1
  82. package/lib/locale/lang/ug-CN.min.js +1 -1
  83. package/lib/locale/lang/uk-UA.js +7 -1
  84. package/lib/locale/lang/uk-UA.min.js +1 -1
  85. package/lib/locale/lang/uk-UA.umd.js +7 -1
  86. package/lib/locale/lang/vi-VN.js +7 -1
  87. package/lib/locale/lang/vi-VN.min.js +1 -1
  88. package/lib/locale/lang/zh-CHT.js +7 -1
  89. package/lib/locale/lang/zh-CHT.min.js +1 -1
  90. package/lib/locale/lang/zh-CHT.umd.js +7 -1
  91. package/lib/locale/lang/zh-CN.js +7 -1
  92. package/lib/locale/lang/zh-CN.min.js +1 -1
  93. package/lib/locale/lang/zh-CN.umd.js +7 -1
  94. package/lib/style.css +1 -1
  95. package/lib/table/module/edit/mixin.js +16 -11
  96. package/lib/table/module/edit/mixin.min.js +1 -1
  97. package/lib/table/module/filter/panel.js +8 -2
  98. package/lib/table/module/filter/panel.min.js +1 -1
  99. package/lib/table/module/keyboard/mixin.js +89 -25
  100. package/lib/table/module/keyboard/mixin.min.js +1 -1
  101. package/lib/table/module/validator/mixin.js +3 -3
  102. package/lib/table/module/validator/mixin.min.js +1 -1
  103. package/lib/table/render/index.js +99 -64
  104. package/lib/table/render/index.min.js +1 -1
  105. package/lib/table/src/body.js +27 -17
  106. package/lib/table/src/body.min.js +1 -1
  107. package/lib/table/src/cell.js +37 -21
  108. package/lib/table/src/cell.min.js +1 -1
  109. package/lib/table/src/footer.js +9 -3
  110. package/lib/table/src/footer.min.js +1 -1
  111. package/lib/table/src/header.js +2 -1
  112. package/lib/table/src/header.min.js +1 -1
  113. package/lib/table/src/methods.js +1101 -798
  114. package/lib/table/src/methods.min.js +1 -1
  115. package/lib/table/src/props.js +4 -0
  116. package/lib/table/src/props.min.js +1 -1
  117. package/lib/table/src/table.js +79 -31
  118. package/lib/table/src/table.min.js +1 -1
  119. package/lib/table/src/util.js +72 -7
  120. package/lib/table/src/util.min.js +1 -1
  121. package/lib/ui/index.js +1 -1
  122. package/lib/ui/index.min.js +1 -1
  123. package/lib/ui/src/log.js +1 -1
  124. package/lib/ui/src/log.min.js +1 -1
  125. package/package.json +2 -2
  126. package/packages/grid/src/grid.ts +92 -57
  127. package/packages/locale/lang/ar-EG.ts +7 -1
  128. package/packages/locale/lang/de-DE.ts +7 -1
  129. package/packages/locale/lang/en-US.ts +7 -1
  130. package/packages/locale/lang/es-ES.ts +7 -1
  131. package/packages/locale/lang/fr-FR.ts +7 -1
  132. package/packages/locale/lang/hu-HU.ts +7 -1
  133. package/packages/locale/lang/hy-AM.ts +7 -1
  134. package/packages/locale/lang/id-ID.ts +7 -1
  135. package/packages/locale/lang/it-IT.ts +7 -1
  136. package/packages/locale/lang/ja-JP.ts +7 -1
  137. package/packages/locale/lang/ko-KR.ts +7 -1
  138. package/packages/locale/lang/nb-NO.ts +7 -1
  139. package/packages/locale/lang/pt-BR.ts +7 -1
  140. package/packages/locale/lang/ru-RU.ts +7 -1
  141. package/packages/locale/lang/th-TH.ts +7 -1
  142. package/packages/locale/lang/ug-CN.ts +7 -1
  143. package/packages/locale/lang/uk-UA.ts +7 -1
  144. package/packages/locale/lang/vi-VN.ts +7 -1
  145. package/packages/locale/lang/zh-CHT.ts +7 -1
  146. package/packages/locale/lang/zh-CN.ts +7 -1
  147. package/packages/table/module/edit/mixin.ts +17 -12
  148. package/packages/table/module/filter/panel.ts +12 -2
  149. package/packages/table/module/keyboard/mixin.ts +94 -27
  150. package/packages/table/module/validator/mixin.ts +2 -2
  151. package/packages/table/render/index.ts +89 -57
  152. package/packages/table/src/body.ts +21 -16
  153. package/packages/table/src/cell.ts +25 -20
  154. package/packages/table/src/footer.ts +9 -4
  155. package/packages/table/src/header.ts +2 -2
  156. package/packages/table/src/methods.ts +1035 -720
  157. package/packages/table/src/props.ts +16 -12
  158. package/packages/table/src/table.ts +87 -35
  159. package/packages/table/src/util.ts +73 -7
  160. /package/es/{iconfont.1741079977180.ttf → iconfont.1742437924038.ttf} +0 -0
  161. /package/es/{iconfont.1741079977180.woff → iconfont.1742437924038.woff} +0 -0
  162. /package/es/{iconfont.1741079977180.woff2 → iconfont.1742437924038.woff2} +0 -0
  163. /package/lib/{iconfont.1741079977180.ttf → iconfont.1742437924038.ttf} +0 -0
  164. /package/lib/{iconfont.1741079977180.woff → iconfont.1742437924038.woff} +0 -0
  165. /package/lib/{iconfont.1741079977180.woff2 → iconfont.1742437924038.woff2} +0 -0
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'ツリーテーブルはインポートをサポートしていません',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'データがありません',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '右側に固定',
238
239
  cancelFixed: '列固定を取消'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '1月',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: 'ソートクリア',
571
576
  sortAsc: '昇順',
572
577
  sortDesc: '降順',
@@ -630,6 +635,7 @@ export default {
630
635
  },
631
636
  combination: {
632
637
  menus: {
638
+ sort: '排序',
633
639
  clearSort: '清除排序',
634
640
  sortAsc: '升序',
635
641
  sortDesc: '降序',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: '트리 테이블은 가져오기를 지원하지 않습니다.',
52
52
  treeCrossDrag: '첫 번째 계층만 드래그할 수 있습니다.',
53
53
  treeDragChild: '부모 항목은 자신의 하위 항목으로 드래그할 수 없습니다.',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: '데이터가 없습니다.',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '오른쪽에 고정',
238
239
  cancelFixed: '고정 해제'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 년'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 월',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '정렬 지우기',
571
576
  sortAsc: '오름차순',
572
577
  sortDesc: '내림차순',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: '정렬 지우기',
675
681
  sortAsc: '오름차순',
676
682
  sortDesc: '내림차순',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: '树表格不支持导入',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'Ingen data ennå',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '冻结在右侧',
238
239
  cancelFixed: '取消冻结列'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 月',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '清除排序',
571
576
  sortAsc: '升序',
572
577
  sortDesc: '降序',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: '清除排序',
675
681
  sortAsc: '升序',
676
682
  sortDesc: '降序',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'A tabela de árvore não suporta importação.',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'Sem dados',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'Freeze on the right',
238
239
  cancelFixed: 'Unfreeze column'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} лет'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: 'Janeiro',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '清除排序',
571
576
  sortAsc: '升序',
572
577
  sortDesc: '降序',
@@ -630,6 +635,7 @@ export default {
630
635
  },
631
636
  combination: {
632
637
  menus: {
638
+ sort: '排序',
633
639
  clearSort: 'Limpar ordenação',
634
640
  sortAsc: 'Ordem ascendente',
635
641
  sortDesc: 'Ordem descendente',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'Древовидные таблицы не поддерживают импорт.',
52
52
  treeCrossDrag: 'Перетаскивать можно только первый уровень',
53
53
  treeDragChild: 'Родителя нельзя перетащить в своих дочерних элементов',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install.'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install.',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'Данных пока нет',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'замер справа',
238
239
  cancelFixed: 'Разморозить столбец'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} лет'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: 'январь',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: 'Очистить сортировку',
571
576
  sortAsc: 'По возрастанию',
572
577
  sortDesc: 'порядок убывания',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: 'Очистить сортировку',
675
681
  sortAsc: 'По возрастанию',
676
682
  sortDesc: 'порядок убывания',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'ตารางแผนผังไม่รองรับการนำเข้า',
52
52
  treeCrossDrag: 'สามารถลากได้เฉพาะระดับแรกเท่านั้น',
53
53
  treeDragChild: 'ผู้ปกครองไม่สามารถถูกลากเข้าไปในลูกของตัวเองได้',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'ยังไม่มีข้อมูล',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'แช่แข็งทางด้านขวา',
238
239
  cancelFixed: 'เลิกตรึงคอลัมน์'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} ปี'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: 'มกราคม',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: 'เรียงลำดับให้ชัดเจน',
571
576
  sortAsc: 'ลำดับจากน้อยไปหามาก',
572
577
  sortDesc: 'ลำดับจากมากไปน้อย',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: 'เรียงลำดับให้ชัดเจน',
675
681
  sortAsc: 'ลำดับจากน้อยไปหามาก',
676
682
  sortDesc: 'ลำดับจากมากไปน้อย',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'دەرەخ شەكىللىك جەدىۋەلنى ئەكىرىشنى قوللىمايدۇ',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'ھازىرچە ئۇچۇر يوق',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'ئوڭ ياندا توڭلىتىش',
238
239
  cancelFixed: 'قۇر توڭلىتىشنى ئەمەلدىن قالدۇرۇش'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} يىل'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 ئاي',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: 'تەرتىپنى تازىلاش',
571
576
  sortAsc: 'ئېشىش',
572
577
  sortDesc: 'كېمىيىش',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: 'تەرتىپنى تازىلاش',
675
681
  sortAsc: 'ئېشىش',
676
682
  sortDesc: 'كېمىيىش',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'Деревовидна таблиця не підтримує імпорт',
52
52
  treeCrossDrag: 'Можна перетягувати тільки на першому рівні',
53
53
  treeDragChild: 'Батьківський елемент не можна перетягнути в свій дочірній елемент',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'Немає даних',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'Зафіксувати праворуч',
238
239
  cancelFixed: 'Скасувати фіксацію стовпця'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 місяць',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: 'Очистити сортування',
571
576
  sortAsc: 'По зростанню',
572
577
  sortDesc: 'По спаданню',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: 'Очистити сортування',
675
681
  sortAsc: 'По зростанню',
676
682
  sortDesc: 'По спаданню',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: '树表格不支持导入',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: '暂无数据',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '冻结在右侧',
238
239
  cancelFixed: '取消冻结列'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 月',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '清除排序',
571
576
  sortAsc: '升序',
572
577
  sortDesc: '降序',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: '清除排序',
675
681
  sortAsc: '升序',
676
682
  sortDesc: '降序',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: '樹表格不支援導入',
52
52
  treeCrossDrag: '只能拖曳第一層級',
53
53
  treeDragChild: '父級不能拖曳到自己的子級中',
54
- reqPlugin: '擴展挿件未安裝 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '擴展挿件未安裝 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: '暫無數據',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '凍結在右側',
238
239
  cancelFixed: '取消凍結列'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 月',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '清除排序',
571
576
  sortAsc: '升序',
572
577
  sortDesc: '降序',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: '清除排序',
675
681
  sortAsc: '升序',
676
682
  sortDesc: '降序',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: '树表格不支持导入',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: '暂无数据',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '冻结在右侧',
238
239
  cancelFixed: '取消冻结列'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 月',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '清除排序',
571
576
  sortAsc: '升序',
572
577
  sortDesc: '降序',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: '清除排序',
675
681
  sortAsc: '升序',
676
682
  sortDesc: '降序',
@@ -494,19 +494,20 @@ export default {
494
494
  * 如果为空则删除所有
495
495
  */
496
496
  _remove (rows: any[]) {
497
- const $xeTable = this
497
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
498
498
  const props = $xeTable
499
- const reactData = $xeTable
500
- const internalData = $xeTable
499
+ const reactData = $xeTable as unknown as TableReactData
500
+ const internalData = $xeTable as unknown as TableInternalData
501
501
 
502
502
  const { treeConfig } = props
503
- const { mergeList, editStore, selectCheckboxMaps } = reactData
504
- const { tableFullTreeData, afterFullData, tableFullData } = internalData
503
+ const { mergeList, editStore } = reactData
504
+ const { tableFullTreeData, selectCheckboxMaps, afterFullData, tableFullData, pendingRowMaps } = internalData
505
505
  const checkboxOpts = $xeTable.computeCheckboxOpts
506
506
  const treeOpts = $xeTable.computeTreeOpts
507
507
  const { transform, mapChildrenField } = treeOpts
508
508
  const childrenField = treeOpts.children || treeOpts.childrenField
509
- const { actived, removeMaps, insertMaps } = editStore
509
+ const { actived, removeMaps } = editStore
510
+ const insertDataRowMaps = Object.assign({}, editStore.insertMaps)
510
511
  const { checkField } = checkboxOpts
511
512
  let delList: any[] = []
512
513
  if (!rows) {
@@ -523,14 +524,13 @@ export default {
523
524
  })
524
525
  // 如果绑定了多选属性,则更新状态
525
526
  if (!checkField) {
526
- const selectRowMaps = { ...selectCheckboxMaps }
527
527
  rows.forEach((row) => {
528
528
  const rowid = getRowid(this, row)
529
- if (selectRowMaps[rowid]) {
530
- delete selectRowMaps[rowid]
529
+ if (selectCheckboxMaps[rowid]) {
530
+ delete selectCheckboxMaps[rowid]
531
531
  }
532
532
  })
533
- this.selectCheckboxMaps = selectRowMaps
533
+ reactData.updateCheckboxFlag++
534
534
  }
535
535
  // 从数据源中移除
536
536
  if (tableFullData === rows) {
@@ -587,10 +587,15 @@ export default {
587
587
  // 从新增中移除已删除的数据
588
588
  rows.forEach((row: any) => {
589
589
  const rowid = getRowid($xeTable, row)
590
- if (insertMaps[rowid]) {
591
- delete insertMaps[rowid]
590
+ if (insertDataRowMaps[rowid]) {
591
+ delete insertDataRowMaps[rowid]
592
+ }
593
+ if (pendingRowMaps[rowid]) {
594
+ delete pendingRowMaps[rowid]
592
595
  }
593
596
  })
597
+ editStore.insertMaps = insertDataRowMaps
598
+ reactData.pendingRowFlag++
594
599
  $xeTable.updateFooter()
595
600
  $xeTable.cacheRowMap(false)
596
601
  $xeTable.handleTableData(treeConfig && transform)
@@ -61,13 +61,23 @@ export default {
61
61
  if (filterSlot) {
62
62
  return [
63
63
  h('div', {
64
- class: 'vxe-table--filter-template'
64
+ class: 'vxe-table--filter-template',
65
+ style: maxHeight
66
+ ? {
67
+ maxHeight: `${maxHeight}px`
68
+ }
69
+ : {}
65
70
  }, $xeTable.callSlot(filterSlot, params, h))
66
71
  ]
67
72
  } else if (rtFilter) {
68
73
  return [
69
74
  h('div', {
70
- class: 'vxe-table--filter-template'
75
+ class: 'vxe-table--filter-template',
76
+ style: maxHeight
77
+ ? {
78
+ maxHeight: `${maxHeight}px`
79
+ }
80
+ : {}
71
81
  }, getSlotVNs(rtFilter.call($xeTable, h, filterRender, params)))
72
82
  ]
73
83
  }
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils'
2
2
  import { getRefElem } from '../../src/util'
3
3
  import { browse, hasClass, getAbsolutePos, addClass, removeClass } from '../../../ui/src/dom'
4
4
 
5
- import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../../types'
5
+ import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines, TableReactData, TableInternalData } from '../../../../types'
6
6
 
7
7
  function getTargetOffset (target: any, container: any) {
8
8
  let offsetTop = 0
@@ -100,13 +100,23 @@ export default {
100
100
  methods: {
101
101
  // 处理 Tab 键移动
102
102
  moveTabSelected (args: any, isLeft: any, evnt: any) {
103
- const { afterFullData, visibleColumn, editConfig, editOpts } = this
104
- let targetRow
105
- let targetRowIndex
106
- let targetColumnIndex
103
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
104
+ const props = $xeTable
105
+ const internalData = $xeTable as unknown as TableInternalData
106
+
107
+ const { editConfig } = props
108
+ const { afterFullData, visibleColumn } = internalData
109
+ const editOpts = $xeTable.computeEditOpts
110
+ const rowOpts = $xeTable.computeRowOpts
111
+ const currentRowOpts = $xeTable.computeCurrentRowOpts
112
+ const columnOpts = $xeTable.computeColumnOpts
113
+ const currentColumnOpts = $xeTable.computeCurrentColumnOpts
114
+ let targetRow: any
115
+ let targetRowIndex: any
116
+ let targetColumnIndex: any
107
117
  const params = Object.assign({}, args)
108
- const _rowIndex = this.getVTRowIndex(params.row)
109
- const _columnIndex = this.getVTColumnIndex(params.column)
118
+ const _rowIndex = $xeTable.getVTRowIndex(params.row)
119
+ const _columnIndex = $xeTable.getVTColumnIndex(params.column)
110
120
  evnt.preventDefault()
111
121
  if (isLeft) {
112
122
  // 向左
@@ -142,28 +152,45 @@ export default {
142
152
  }
143
153
  params.columnIndex = targetColumnIndex
144
154
  params.column = targetColumn
145
- params.cell = this.getCellElement(params.row, params.column)
155
+ params.cell = $xeTable.getCellElement(params.row, params.column)
156
+ if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
157
+ $xeTable.triggerCurrentRowEvent(evnt, params)
158
+ }
159
+ if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
160
+ $xeTable.triggerCurrentColumnEvent(evnt, params)
161
+ }
146
162
  if (editConfig) {
147
163
  if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
148
164
  if (editOpts.mode === 'row') {
149
- this.handleEdit(params, evnt)
165
+ $xeTable.handleEdit(params, evnt)
150
166
  } else {
151
- this.scrollToRow(params.row, params.column)
152
- .then(() => this.handleSelected(params, evnt))
167
+ $xeTable.scrollToRow(params.row, params.column)
168
+ .then(() => {
169
+ $xeTable.handleSelected(params, evnt)
170
+ })
153
171
  }
154
172
  }
155
173
  } else {
156
- this.scrollToRow(params.row, params.column)
157
- .then(() => this.handleSelected(params, evnt))
174
+ $xeTable.scrollToRow(params.row, params.column)
175
+ .then(() => {
176
+ $xeTable.handleSelected(params, evnt)
177
+ })
158
178
  }
159
179
  }
160
180
  },
161
181
  // 处理当前行方向键移动
162
- moveCurrentRow (isUpArrow: any, isDwArrow: any, evnt: any) {
163
- const { currentRow, treeConfig, treeOpts, afterFullData } = this
182
+ moveCurrentRow (isUpArrow: boolean, isDwArrow: boolean, evnt: any) {
183
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
184
+ const props = $xeTable
185
+ const reactData = $xeTable as unknown as TableReactData
186
+ const internalData = $xeTable as unknown as TableInternalData
187
+
188
+ const { treeConfig } = props
189
+ const { currentRow } = reactData
190
+ const { afterFullData } = internalData
191
+ const treeOpts = $xeTable.computeTreeOpts
164
192
  const childrenField = treeOpts.children || treeOpts.childrenField
165
193
  let targetRow
166
- evnt.preventDefault()
167
194
  if (currentRow) {
168
195
  if (treeConfig) {
169
196
  const { index, items } = XEUtils.findTree(afterFullData, item => item === currentRow, { children: childrenField })
@@ -173,7 +200,7 @@ export default {
173
200
  targetRow = items[index + 1]
174
201
  }
175
202
  } else {
176
- const _rowIndex = this.getVTRowIndex(currentRow)
203
+ const _rowIndex = $xeTable.getVTRowIndex(currentRow)
177
204
  if (isUpArrow && _rowIndex > 0) {
178
205
  targetRow = afterFullData[_rowIndex - 1]
179
206
  } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
@@ -184,17 +211,57 @@ export default {
184
211
  targetRow = afterFullData[0]
185
212
  }
186
213
  if (targetRow) {
187
- const params = { $table: this, row: targetRow }
188
- this.scrollToRow(targetRow)
189
- .then(() => this.triggerCurrentRowEvent(evnt, params))
214
+ evnt.preventDefault()
215
+ const params = {
216
+ $table: $xeTable,
217
+ row: targetRow,
218
+ rowIndex: $xeTable.getRowIndex(targetRow),
219
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
220
+ }
221
+ $xeTable.scrollToRow(targetRow)
222
+ .then(() => $xeTable.triggerCurrentRowEvent(evnt, params))
223
+ }
224
+ },
225
+ // 处理当前列方向键移动
226
+ moveCurrentColumn (isLeftArrow: boolean, isRightArrow: boolean, evnt: any) {
227
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
228
+ const reactData = $xeTable as unknown as TableReactData
229
+ const internalData = $xeTable as unknown as TableInternalData
230
+
231
+ const { currentColumn } = reactData
232
+ const { visibleColumn } = internalData
233
+ let targetCol: VxeTableDefines.ColumnInfo | null = null
234
+ if (currentColumn) {
235
+ const _columnIndex = $xeTable.getVTColumnIndex(currentColumn)
236
+ if (isLeftArrow && _columnIndex > 0) {
237
+ targetCol = visibleColumn[_columnIndex - 1]
238
+ } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
239
+ targetCol = visibleColumn[_columnIndex + 1]
240
+ }
241
+ } else {
242
+ targetCol = visibleColumn[0]
243
+ }
244
+ if (targetCol) {
245
+ evnt.preventDefault()
246
+ const params = {
247
+ $table: $xeTable,
248
+ column: targetCol,
249
+ columnIndex: $xeTable.getColumnIndex(targetCol),
250
+ $columnIndex: $xeTable.getVMColumnIndex(targetCol)
251
+ }
252
+ $xeTable.scrollToColumn(targetCol)
253
+ .then(() => $xeTable.triggerCurrentColumnEvent(evnt, params))
190
254
  }
191
255
  },
192
256
  // 处理可编辑方向键移动
193
- moveSelected (args: any, isLeftArrow: any, isUpArrow: any, isRightArrow: any, isDwArrow: any, evnt: any) {
194
- const { afterFullData, visibleColumn } = this
257
+ moveSelected (args: any, isLeftArrow: boolean, isUpArrow: boolean, isRightArrow: boolean, isDwArrow: boolean, evnt: any) {
258
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
259
+ const internalData = $xeTable as unknown as TableInternalData
260
+
261
+ const { afterFullData, visibleColumn } = internalData
195
262
  const params = Object.assign({}, args)
196
- const _rowIndex = this.getVTRowIndex(params.row)
197
- const _columnIndex = this.getVTColumnIndex(params.column)
263
+ const _rowIndex = $xeTable.getVTRowIndex(params.row)
264
+ const _columnIndex = $xeTable.getVTColumnIndex(params.column)
198
265
  evnt.preventDefault()
199
266
  if (isUpArrow && _rowIndex > 0) {
200
267
  // 移动到上一行
@@ -213,9 +280,9 @@ export default {
213
280
  params.columnIndex = _columnIndex + 1
214
281
  params.column = visibleColumn[params.columnIndex]
215
282
  }
216
- this.scrollToRow(params.row, params.column).then(() => {
217
- params.cell = this.getCellElement(params.row, params.column)
218
- this.handleSelected(params, evnt)
283
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
284
+ params.cell = $xeTable.getCellElement(params.row, params.column)
285
+ $xeTable.handleSelected(params, evnt)
219
286
  })
220
287
  },
221
288
  handleCellMousedownEvent (evnt: any, params: any) {