vxe-table 4.1.20 → 4.2.0-beta.2

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 (324) hide show
  1. package/README.en.md +2 -4
  2. package/README.md +2 -3
  3. package/README.zh-TW.md +2 -4
  4. package/es/button/index.js +1 -1
  5. package/es/checkbox/index.js +1 -1
  6. package/es/checkbox-group/index.js +1 -1
  7. package/es/colgroup/index.js +3 -2
  8. package/es/column/index.js +3 -2
  9. package/es/edit/src/hook.js +2 -1
  10. package/es/export/index.js +2 -2
  11. package/es/export/src/hook.js +2 -1
  12. package/es/export/src/util.js +3 -5
  13. package/es/filter/index.js +1 -1
  14. package/es/filter/src/hook.js +17 -10
  15. package/es/footer/index.js +1 -1
  16. package/es/footer/src/footer.js +3 -2
  17. package/es/form/index.js +1 -1
  18. package/es/form/src/form-gather.js +3 -3
  19. package/es/form/src/form-item.js +4 -4
  20. package/es/form/src/form.js +36 -43
  21. package/es/form/src/render.js +15 -10
  22. package/es/form/src/util.js +6 -0
  23. package/es/form-gather/index.js +1 -1
  24. package/es/form-item/index.js +1 -1
  25. package/es/grid/index.js +1 -1
  26. package/es/grid/src/grid.js +2 -1
  27. package/es/header/index.js +1 -1
  28. package/es/header/src/header.js +1 -1
  29. package/es/input/index.js +1 -1
  30. package/es/input/src/date.js +41 -0
  31. package/es/input/src/input.js +4 -51
  32. package/es/input/src/number.js +10 -0
  33. package/es/list/index.js +1 -1
  34. package/es/menu/index.js +1 -1
  35. package/es/modal/index.js +1 -1
  36. package/es/modal/src/modal.js +2 -1
  37. package/es/optgroup/index.js +1 -1
  38. package/es/option/index.js +1 -1
  39. package/es/pager/index.js +1 -1
  40. package/es/pager/src/pager.js +13 -2
  41. package/es/pulldown/index.js +1 -1
  42. package/es/radio/index.js +1 -1
  43. package/es/radio-button/index.js +1 -1
  44. package/es/radio-group/index.js +1 -1
  45. package/es/select/index.js +1 -1
  46. package/es/select/style.css +1 -1
  47. package/es/style.css +1 -1
  48. package/es/style.min.css +1 -1
  49. package/es/switch/index.js +1 -1
  50. package/es/table/index.js +1 -1
  51. package/es/table/src/body.js +32 -11
  52. package/es/table/src/cell.js +3 -3
  53. package/es/table/src/column.js +3 -1
  54. package/es/table/src/columnInfo.js +5 -4
  55. package/es/table/src/emits.js +5 -1
  56. package/es/table/src/props.js +5 -2
  57. package/es/table/src/table.js +120 -86
  58. package/es/table/src/util.js +5 -3
  59. package/es/textarea/index.js +1 -1
  60. package/es/toolbar/index.js +1 -1
  61. package/es/toolbar/src/toolbar.js +2 -1
  62. package/es/tools/dom.js +9 -0
  63. package/es/tools/log.js +13 -0
  64. package/es/tools/utils.js +0 -12
  65. package/es/tooltip/index.js +1 -1
  66. package/es/tooltip/src/tooltip.js +85 -45
  67. package/es/tooltip/style.css +1 -1
  68. package/es/v-x-e-table/index.js +1 -0
  69. package/es/v-x-e-table/src/conf.js +12 -7
  70. package/es/v-x-e-table/src/interceptor.js +1 -1
  71. package/es/v-x-e-table/src/renderer.js +2 -1
  72. package/es/v-x-e-table/src/store.js +1 -1
  73. package/helper/vetur/attributes.json +31 -11
  74. package/helper/vetur/tags.json +8 -3
  75. package/lib/button/index.js +3 -2
  76. package/lib/button/index.min.js +1 -1
  77. package/lib/checkbox/index.js +3 -2
  78. package/lib/checkbox/index.min.js +1 -1
  79. package/lib/checkbox-group/index.js +3 -2
  80. package/lib/checkbox-group/index.min.js +1 -1
  81. package/lib/colgroup/index.js +6 -4
  82. package/lib/colgroup/index.min.js +1 -1
  83. package/lib/column/index.js +6 -4
  84. package/lib/column/index.min.js +1 -1
  85. package/lib/edit/src/hook.js +7 -5
  86. package/lib/edit/src/hook.min.js +1 -1
  87. package/lib/export/index.js +5 -4
  88. package/lib/export/index.min.js +1 -1
  89. package/lib/export/src/hook.js +14 -12
  90. package/lib/export/src/hook.min.js +1 -1
  91. package/lib/export/src/util.js +7 -9
  92. package/lib/export/src/util.min.js +1 -1
  93. package/lib/filter/index.js +3 -2
  94. package/lib/filter/index.min.js +1 -1
  95. package/lib/filter/src/hook.js +24 -13
  96. package/lib/filter/src/hook.min.js +1 -1
  97. package/lib/footer/index.js +3 -2
  98. package/lib/footer/index.min.js +1 -1
  99. package/lib/footer/src/footer.js +7 -3
  100. package/lib/footer/src/footer.min.js +1 -1
  101. package/lib/form/index.js +3 -2
  102. package/lib/form/index.min.js +1 -1
  103. package/lib/form/src/form-gather.js +3 -3
  104. package/lib/form/src/form-gather.min.js +1 -1
  105. package/lib/form/src/form-item.js +3 -3
  106. package/lib/form/src/form-item.min.js +1 -1
  107. package/lib/form/src/form.js +45 -58
  108. package/lib/form/src/form.min.js +1 -1
  109. package/lib/form/src/render.js +24 -10
  110. package/lib/form/src/render.min.js +1 -1
  111. package/lib/form/src/util.js +11 -0
  112. package/lib/form/src/util.min.js +1 -1
  113. package/lib/form-gather/index.js +3 -2
  114. package/lib/form-gather/index.min.js +1 -1
  115. package/lib/form-item/index.js +3 -2
  116. package/lib/form-item/index.min.js +1 -1
  117. package/lib/grid/index.js +3 -2
  118. package/lib/grid/index.min.js +1 -1
  119. package/lib/grid/src/grid.js +16 -14
  120. package/lib/grid/src/grid.min.js +1 -1
  121. package/lib/header/index.js +3 -2
  122. package/lib/header/index.min.js +1 -1
  123. package/lib/header/src/header.js +1 -1
  124. package/lib/header/src/header.min.js +1 -1
  125. package/lib/index.umd.js +584 -415
  126. package/lib/index.umd.min.js +1 -2
  127. package/lib/input/index.js +3 -2
  128. package/lib/input/index.min.js +1 -1
  129. package/lib/input/src/date.js +56 -0
  130. package/lib/input/src/date.min.js +1 -0
  131. package/lib/input/src/input.js +13 -67
  132. package/lib/input/src/input.min.js +1 -1
  133. package/lib/input/src/number.js +23 -0
  134. package/lib/input/src/number.min.js +1 -0
  135. package/lib/list/index.js +3 -2
  136. package/lib/list/index.min.js +1 -1
  137. package/lib/menu/index.js +3 -2
  138. package/lib/menu/index.min.js +1 -1
  139. package/lib/modal/index.js +3 -2
  140. package/lib/modal/index.min.js +1 -1
  141. package/lib/modal/src/modal.js +3 -1
  142. package/lib/modal/src/modal.min.js +1 -1
  143. package/lib/optgroup/index.js +3 -2
  144. package/lib/optgroup/index.min.js +1 -1
  145. package/lib/option/index.js +3 -2
  146. package/lib/option/index.min.js +1 -1
  147. package/lib/pager/index.js +3 -2
  148. package/lib/pager/index.min.js +1 -1
  149. package/lib/pager/src/pager.js +15 -1
  150. package/lib/pager/src/pager.min.js +1 -1
  151. package/lib/pulldown/index.js +3 -2
  152. package/lib/pulldown/index.min.js +1 -1
  153. package/lib/radio/index.js +3 -2
  154. package/lib/radio/index.min.js +1 -1
  155. package/lib/radio-button/index.js +3 -2
  156. package/lib/radio-button/index.min.js +1 -1
  157. package/lib/radio-group/index.js +3 -2
  158. package/lib/radio-group/index.min.js +1 -1
  159. package/lib/select/index.js +3 -2
  160. package/lib/select/index.min.js +1 -1
  161. package/lib/select/style/style.css +1 -1
  162. package/lib/select/style/style.min.css +1 -1
  163. package/lib/style.css +1 -1
  164. package/lib/style.min.css +1 -1
  165. package/lib/switch/index.js +3 -2
  166. package/lib/switch/index.min.js +1 -1
  167. package/lib/table/index.js +3 -2
  168. package/lib/table/index.min.js +1 -1
  169. package/lib/table/src/body.js +32 -11
  170. package/lib/table/src/body.min.js +1 -1
  171. package/lib/table/src/cell.js +3 -3
  172. package/lib/table/src/cell.min.js +1 -1
  173. package/lib/table/src/column.js +3 -1
  174. package/lib/table/src/column.min.js +1 -1
  175. package/lib/table/src/columnInfo.js +13 -9
  176. package/lib/table/src/columnInfo.min.js +1 -1
  177. package/lib/table/src/emits.js +1 -1
  178. package/lib/table/src/emits.min.js +1 -1
  179. package/lib/table/src/props.js +5 -2
  180. package/lib/table/src/table.js +187 -148
  181. package/lib/table/src/table.min.js +1 -1
  182. package/lib/table/src/util.js +5 -3
  183. package/lib/table/src/util.min.js +1 -1
  184. package/lib/textarea/index.js +3 -2
  185. package/lib/textarea/index.min.js +1 -1
  186. package/lib/toolbar/index.js +3 -2
  187. package/lib/toolbar/index.min.js +1 -1
  188. package/lib/toolbar/src/toolbar.js +4 -2
  189. package/lib/toolbar/src/toolbar.min.js +1 -1
  190. package/lib/tools/dom.js +12 -1
  191. package/lib/tools/dom.min.js +1 -1
  192. package/lib/tools/log.js +29 -0
  193. package/lib/tools/log.min.js +1 -0
  194. package/lib/tools/utils.js +0 -20
  195. package/lib/tools/utils.min.js +1 -1
  196. package/lib/tooltip/index.js +3 -3
  197. package/lib/tooltip/index.min.js +1 -1
  198. package/lib/tooltip/src/tooltip.js +114 -60
  199. package/lib/tooltip/src/tooltip.min.js +1 -1
  200. package/lib/tooltip/style/style.css +1 -1
  201. package/lib/tooltip/style/style.min.css +1 -1
  202. package/lib/v-x-e-table/index.js +1 -0
  203. package/lib/v-x-e-table/index.min.js +1 -1
  204. package/lib/v-x-e-table/src/conf.js +12 -7
  205. package/lib/v-x-e-table/src/conf.min.js +1 -1
  206. package/lib/v-x-e-table/src/interceptor.js +3 -3
  207. package/lib/v-x-e-table/src/interceptor.min.js +1 -1
  208. package/lib/v-x-e-table/src/renderer.js +3 -1
  209. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  210. package/lib/v-x-e-table/src/store.js +2 -2
  211. package/lib/v-x-e-table/src/store.min.js +1 -1
  212. package/package.json +4 -4
  213. package/packages/button/index.ts +2 -1
  214. package/packages/checkbox/index.ts +2 -1
  215. package/packages/checkbox-group/index.ts +2 -1
  216. package/packages/colgroup/index.ts +4 -2
  217. package/packages/column/index.ts +4 -2
  218. package/packages/edit/src/hook.ts +2 -1
  219. package/packages/export/index.ts +3 -2
  220. package/packages/export/src/hook.ts +2 -1
  221. package/packages/export/src/util.ts +4 -6
  222. package/packages/filter/index.ts +2 -1
  223. package/packages/filter/src/hook.ts +17 -10
  224. package/packages/footer/index.ts +2 -1
  225. package/packages/footer/src/footer.ts +3 -2
  226. package/packages/form/index.ts +2 -1
  227. package/packages/form/src/form-gather.ts +3 -3
  228. package/packages/form/src/form-item.ts +4 -4
  229. package/packages/form/src/form.ts +38 -46
  230. package/packages/form/src/render.ts +8 -6
  231. package/packages/form/src/util.ts +8 -1
  232. package/packages/form-gather/index.ts +2 -1
  233. package/packages/form-item/index.ts +2 -1
  234. package/packages/grid/index.ts +2 -1
  235. package/packages/grid/src/grid.ts +2 -1
  236. package/packages/header/index.ts +2 -1
  237. package/packages/header/src/header.ts +1 -1
  238. package/packages/input/index.ts +2 -1
  239. package/packages/input/src/date.ts +42 -0
  240. package/packages/input/src/input.ts +3 -51
  241. package/packages/input/src/number.ts +12 -0
  242. package/packages/list/index.ts +2 -1
  243. package/packages/menu/index.ts +2 -1
  244. package/packages/modal/index.ts +2 -1
  245. package/packages/modal/src/modal.ts +2 -1
  246. package/packages/optgroup/index.ts +2 -1
  247. package/packages/option/index.ts +2 -1
  248. package/packages/pager/index.ts +2 -1
  249. package/packages/pager/src/pager.ts +17 -3
  250. package/packages/pulldown/index.ts +2 -1
  251. package/packages/radio/index.ts +2 -1
  252. package/packages/radio-button/index.ts +2 -1
  253. package/packages/radio-group/index.ts +2 -1
  254. package/packages/select/index.ts +2 -1
  255. package/packages/switch/index.ts +2 -1
  256. package/packages/table/index.ts +2 -1
  257. package/packages/table/src/body.ts +33 -12
  258. package/packages/table/src/cell.ts +3 -3
  259. package/packages/table/src/column.ts +3 -1
  260. package/packages/table/src/columnInfo.ts +5 -3
  261. package/packages/table/src/emits.ts +5 -1
  262. package/packages/table/src/props.ts +5 -2
  263. package/packages/table/src/table.ts +120 -84
  264. package/packages/table/src/util.ts +5 -3
  265. package/packages/textarea/index.ts +2 -1
  266. package/packages/toolbar/index.ts +2 -1
  267. package/packages/toolbar/src/toolbar.ts +2 -1
  268. package/packages/tools/dom.ts +11 -0
  269. package/packages/tools/log.ts +16 -0
  270. package/packages/tools/utils.ts +0 -15
  271. package/packages/tooltip/index.ts +2 -1
  272. package/packages/tooltip/src/tooltip.ts +87 -46
  273. package/packages/v-x-e-table/index.ts +1 -0
  274. package/packages/v-x-e-table/src/conf.ts +12 -7
  275. package/packages/v-x-e-table/src/interceptor.ts +1 -1
  276. package/packages/v-x-e-table/src/renderer.ts +2 -1
  277. package/packages/v-x-e-table/src/store.ts +1 -1
  278. package/styles/select.scss +1 -1
  279. package/styles/tooltip.scss +1 -1
  280. package/types/all.d.ts +2 -2
  281. package/types/button.d.ts +54 -54
  282. package/types/checkbox-group.d.ts +21 -21
  283. package/types/checkbox.d.ts +30 -30
  284. package/types/colgroup.d.ts +16 -16
  285. package/types/column.d.ts +172 -161
  286. package/types/component.d.ts +9 -9
  287. package/types/edit.d.ts +35 -35
  288. package/types/export.d.ts +101 -101
  289. package/types/filter.d.ts +19 -19
  290. package/types/footer.d.ts +1 -1
  291. package/types/form-gather.d.ts +3 -3
  292. package/types/form-item.d.ts +68 -66
  293. package/types/form.d.ts +136 -131
  294. package/types/grid.d.ts +257 -257
  295. package/types/header.d.ts +1 -1
  296. package/types/icon.d.ts +1 -1
  297. package/types/input.d.ts +162 -162
  298. package/types/keyboard.d.ts +6 -6
  299. package/types/list.d.ts +54 -54
  300. package/types/menu.d.ts +33 -33
  301. package/types/modal.d.ts +160 -160
  302. package/types/optgroup.d.ts +5 -5
  303. package/types/option.d.ts +19 -19
  304. package/types/pager.d.ts +65 -61
  305. package/types/plugins/pro.d.ts +245 -215
  306. package/types/pulldown.d.ts +36 -36
  307. package/types/radio-button.d.ts +25 -25
  308. package/types/radio-group.d.ts +20 -20
  309. package/types/radio.d.ts +27 -27
  310. package/types/select.d.ts +82 -82
  311. package/types/switch.d.ts +40 -40
  312. package/types/table.d.ts +1422 -1336
  313. package/types/textarea.d.ts +71 -71
  314. package/types/toolbar.d.ts +65 -65
  315. package/types/tooltip.d.ts +50 -44
  316. package/types/v-x-e-table/commands.d.ts +12 -12
  317. package/types/v-x-e-table/formats.d.ts +10 -10
  318. package/types/v-x-e-table/hooks.d.ts +9 -9
  319. package/types/v-x-e-table/index.d.ts +51 -43
  320. package/types/v-x-e-table/interceptor.d.ts +26 -26
  321. package/types/v-x-e-table/menus.d.ts +13 -13
  322. package/types/v-x-e-table/renderer.d.ts +128 -128
  323. package/types/v-x-e-table/setup.d.ts +55 -55
  324. package/types/validator.d.ts +28 -28
@@ -4,9 +4,10 @@ import { dynamicApp } from '../dynamics'
4
4
 
5
5
  export const RadioButton = Object.assign(VxeRadioButtonComponent, {
6
6
  install: function (app: App) {
7
- dynamicApp.component(VxeRadioButtonComponent.name, VxeRadioButtonComponent)
8
7
  app.component(VxeRadioButtonComponent.name, VxeRadioButtonComponent)
9
8
  }
10
9
  })
11
10
 
11
+ dynamicApp.component(VxeRadioButtonComponent.name, VxeRadioButtonComponent)
12
+
12
13
  export default RadioButton
@@ -4,9 +4,10 @@ import { dynamicApp } from '../dynamics'
4
4
 
5
5
  export const RadioGroup = Object.assign(VxeRadioGroupComponent, {
6
6
  install: function (app: App) {
7
- dynamicApp.component(VxeRadioGroupComponent.name, VxeRadioGroupComponent)
8
7
  app.component(VxeRadioGroupComponent.name, VxeRadioGroupComponent)
9
8
  }
10
9
  })
11
10
 
11
+ dynamicApp.component(VxeRadioGroupComponent.name, VxeRadioGroupComponent)
12
+
12
13
  export default RadioGroup
@@ -4,9 +4,10 @@ import { dynamicApp } from '../dynamics'
4
4
 
5
5
  export const Select = Object.assign(VxeSelectComponent, {
6
6
  install: function (app: App) {
7
- dynamicApp.component(VxeSelectComponent.name, VxeSelectComponent)
8
7
  app.component(VxeSelectComponent.name, VxeSelectComponent)
9
8
  }
10
9
  })
11
10
 
11
+ dynamicApp.component(VxeSelectComponent.name, VxeSelectComponent)
12
+
12
13
  export default Select
@@ -4,9 +4,10 @@ import { dynamicApp } from '../dynamics'
4
4
 
5
5
  export const Switch = Object.assign(VxeSwitchComponent, {
6
6
  install: function (app: App) {
7
- dynamicApp.component(VxeSwitchComponent.name, VxeSwitchComponent)
8
7
  app.component(VxeSwitchComponent.name, VxeSwitchComponent)
9
8
  }
10
9
  })
11
10
 
11
+ dynamicApp.component(VxeSwitchComponent.name, VxeSwitchComponent)
12
+
12
13
  export default Switch
@@ -4,9 +4,10 @@ import { dynamicApp } from '../dynamics'
4
4
 
5
5
  export const Table = Object.assign(VxeTableComponent, {
6
6
  install: function (app: App) {
7
- dynamicApp.component(VxeTableComponent.name, VxeTableComponent)
8
7
  app.component(VxeTableComponent.name, VxeTableComponent)
9
8
  }
10
9
  })
11
10
 
11
+ dynamicApp.component(VxeTableComponent.name, VxeTableComponent)
12
+
12
13
  export default Table
@@ -3,7 +3,7 @@ import XEUtils from 'xe-utils'
3
3
  import GlobalConfig from '../../v-x-e-table/src/conf'
4
4
  import { VXETable } from '../../v-x-e-table'
5
5
  import { mergeBodyMethod, getRowid, getPropClass, removeScrollListener, restoreScrollListener, XEBodyScrollElement } from './util'
6
- import { browse, updateCellTitle } from '../../tools/dom'
6
+ import { updateCellTitle } from '../../tools/dom'
7
7
  import { isEnableConf } from '../../tools/utils'
8
8
 
9
9
  import { VxeTablePrivateMethods, VxeTableConstructor, VxeTableDefines, VxeTableMethods, VxeGlobalRendererHandles, VxeColumnPropTypes, SizeType } from '../../../types/all'
@@ -31,7 +31,7 @@ export default defineComponent({
31
31
 
32
32
  const { xID, props: tableProps, context: tableContext, reactData: tableReactData, internalData: tableInternalData } = $xetable
33
33
  const { refTableHeader, refTableBody, refTableFooter, refTableLeftBody, refTableRightBody, refValidTooltip } = $xetable.getRefMaps()
34
- const { computeEditOpts, computeMouseOpts, computeSYOpts, computeEmptyOpts, computeKeyboardOpts, computeTooltipOpts, computeRadioOpts, computeTreeOpts, computeCheckboxOpts, computeValidOpts, computeRowOpts } = $xetable.getComputeMaps()
34
+ const { computeEditOpts, computeMouseOpts, computeSYOpts, computeEmptyOpts, computeKeyboardOpts, computeTooltipOpts, computeRadioOpts, computeTreeOpts, computeCheckboxOpts, computeValidOpts, computeRowOpts, computeColumnOpts } = $xetable.getComputeMaps()
35
35
 
36
36
  const refElem = ref() as Ref<XEBodyScrollElement>
37
37
  const refBodyTable = ref() as Ref<HTMLTableElement>
@@ -131,6 +131,7 @@ export default defineComponent({
131
131
  const tooltipOpts = computeTooltipOpts.value
132
132
  const rowOpts = computeRowOpts.value
133
133
  const sYOpts = computeSYOpts.value
134
+ const columnOpts = computeColumnOpts.value
134
135
  const { type, cellRender, editRender, align, showOverflow, className, treeNode } = column
135
136
  const { actived } = editStore
136
137
  const { rHeight: scrollYRHeight } = sYOpts
@@ -295,7 +296,7 @@ export default defineComponent({
295
296
  'col--valid-error': hasValidError,
296
297
  'col--current': currentColumn === column
297
298
  }, getPropClass(className, params), getPropClass(cellClassName, params)],
298
- key: columnKey ? column.id : $columnIndex,
299
+ key: columnKey || columnOpts.useKey ? column.id : $columnIndex,
299
300
  ...attrs,
300
301
  style: Object.assign({
301
302
  height: hasEllipsis && (scrollYRHeight || rowHeight) ? `${scrollYRHeight || rowHeight}px` : ''
@@ -362,7 +363,7 @@ export default defineComponent({
362
363
  }, rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : ''],
363
364
  rowid: rowid,
364
365
  style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null,
365
- key: rowKey || treeConfig ? rowid : $rowIndex,
366
+ key: (rowKey || rowOpts.useKey) || treeConfig ? rowid : $rowIndex,
366
367
  ...trOn
367
368
  }, tableColumn.map((column: any, $columnIndex: any) => {
368
369
  return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData)
@@ -418,7 +419,7 @@ export default defineComponent({
418
419
  * 同步滚动条
419
420
  */
420
421
  let scrollProcessTimeout: any
421
- const syncBodyScroll = (scrollTop: number, elem1: XEBodyScrollElement | null, elem2: XEBodyScrollElement | null) => {
422
+ const syncBodyScroll = (fixedType: VxeColumnPropTypes.Fixed, scrollTop: number, elem1: XEBodyScrollElement | null, elem2: XEBodyScrollElement | null) => {
422
423
  if (elem1 || elem2) {
423
424
  if (elem1) {
424
425
  removeScrollListener(elem1)
@@ -429,9 +430,29 @@ export default defineComponent({
429
430
  elem2.scrollTop = scrollTop
430
431
  }
431
432
  clearTimeout(scrollProcessTimeout)
432
- scrollProcessTimeout = setTimeout(function () {
433
+ scrollProcessTimeout = setTimeout(() => {
434
+ // const tableBody = refTableBody.value
435
+ // const leftBody = refTableLeftBody.value
436
+ // const rightBody = refTableRightBody.value
437
+ // const bodyElem = tableBody.$el as XEBodyScrollElement
438
+ // const leftElem = leftBody ? leftBody.$el as XEBodyScrollElement : null
439
+ // const rightElem = rightBody ? rightBody.$el as XEBodyScrollElement : null
433
440
  restoreScrollListener(elem1)
434
441
  restoreScrollListener(elem2)
442
+ // 检查滚动条是的同步
443
+ // let targetTop = bodyElem.scrollTop
444
+ // if (fixedType === 'left') {
445
+ // if (leftElem) {
446
+ // targetTop = leftElem.scrollTop
447
+ // }
448
+ // } else if (fixedType === 'right') {
449
+ // if (rightElem) {
450
+ // targetTop = rightElem.scrollTop
451
+ // }
452
+ // }
453
+ // setScrollTop(bodyElem, targetTop)
454
+ // setScrollTop(leftElem, targetTop)
455
+ // setScrollTop(rightElem, targetTop)
435
456
  }, 300)
436
457
  }
437
458
  }
@@ -475,10 +496,10 @@ export default defineComponent({
475
496
  }
476
497
  if (leftElem && fixedType === 'left') {
477
498
  scrollTop = leftElem.scrollTop
478
- syncBodyScroll(scrollTop, bodyElem, rightElem)
499
+ syncBodyScroll(fixedType, scrollTop, bodyElem, rightElem)
479
500
  } else if (rightElem && fixedType === 'right') {
480
501
  scrollTop = rightElem.scrollTop
481
- syncBodyScroll(scrollTop, bodyElem, leftElem)
502
+ syncBodyScroll(fixedType, scrollTop, bodyElem, leftElem)
482
503
  } else {
483
504
  if (isRollX) {
484
505
  if (headerElem) {
@@ -491,7 +512,7 @@ export default defineComponent({
491
512
  if (leftElem || rightElem) {
492
513
  $xetable.checkScrolling()
493
514
  if (isRollY) {
494
- syncBodyScroll(scrollTop, leftElem, rightElem)
515
+ syncBodyScroll(fixedType, scrollTop, leftElem, rightElem)
495
516
  }
496
517
  }
497
518
  }
@@ -593,8 +614,8 @@ export default defineComponent({
593
614
  const scrollBodyElem = refElem.value
594
615
  const bodyElem = tableBody.$el as HTMLDivElement
595
616
 
596
- const deltaTop = browse.firefox ? deltaY * 40 : deltaY
597
- const deltaLeft = browse.firefox ? deltaX * 40 : deltaX
617
+ const deltaTop = deltaY
618
+ const deltaLeft = deltaX
598
619
  const isTopWheel = deltaTop < 0
599
620
  // 如果滚动位置已经是顶部或底部,则不需要触发
600
621
  if (isTopWheel ? scrollBodyElem.scrollTop <= 0 : scrollBodyElem.scrollTop >= scrollBodyElem.scrollHeight - scrollBodyElem.clientHeight) {
@@ -708,7 +729,7 @@ export default defineComponent({
708
729
  ref: refElem,
709
730
  class: ['vxe-table--body-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
710
731
  xid: xID,
711
- ...(scrollYLoad && sYOpts.mode === 'wheel' ? { onWheel: wheelEvent } : {})
732
+ ...(sYOpts.mode === 'wheel' ? { onWheel: wheelEvent } : {})
712
733
  }, [
713
734
  fixedType ? createCommentVNode() : h('div', {
714
735
  ref: refBodyXSpace,
@@ -10,10 +10,10 @@ import { VxeTableConstructor, VxeTableDefines, VxeTablePrivateMethods } from '..
10
10
 
11
11
  function renderHelpIcon (params: VxeTableDefines.CellRenderHeaderParams) {
12
12
  const { $table, column } = params
13
- const { titleHelp } = column
14
- return titleHelp ? [
13
+ const titlePrefix = column.titlePrefix || column.titleHelp
14
+ return titlePrefix ? [
15
15
  h('i', {
16
- class: ['vxe-cell-help-icon', titleHelp.icon || GlobalConfig.icon.TABLE_HELP],
16
+ class: ['vxe-cell-help-icon', titlePrefix.icon || GlobalConfig.icon.TABLE_HELP],
17
17
  onMouseenter (evnt: MouseEvent) {
18
18
  $table.triggerHeaderHelpEvent(evnt, params)
19
19
  },
@@ -67,8 +67,10 @@ export const columnProps = {
67
67
  exportMethod: Function as PropType<VxeColumnPropTypes.ExportMethod>,
68
68
  // 表尾单元格数据导出方法
69
69
  footerExportMethod: Function as PropType<VxeColumnPropTypes.FooterExportMethod>,
70
- // 标题帮助图标配置项
70
+ // 已废弃,被 titlePrefix 替换
71
71
  titleHelp: Object as PropType<VxeColumnPropTypes.TitleHelp>,
72
+ // 标题帮助图标配置项
73
+ titlePrefix: Object as PropType<VxeColumnPropTypes.TitlePrefix>,
72
74
  // 单元格值类型
73
75
  cellType: String as PropType<VxeColumnPropTypes.CellType>,
74
76
  // 单元格渲染配置项
@@ -2,7 +2,8 @@ import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import { VXETable } from '../../v-x-e-table'
4
4
  import { toFilters } from './util'
5
- import { warnLog, errLog, getFuncText } from '../../tools/utils'
5
+ import { getFuncText } from '../../tools/utils'
6
+ import { warnLog, errLog } from '../../tools/log'
6
7
 
7
8
  import { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/all'
8
9
 
@@ -92,6 +93,7 @@ export class ColumnInfo {
92
93
  exportMethod: _vm.exportMethod,
93
94
  footerExportMethod: _vm.footerExportMethod,
94
95
  titleHelp: _vm.titleHelp,
96
+ titlePrefix: _vm.titlePrefix,
95
97
  // 自定义参数
96
98
  params: _vm.params,
97
99
  // 渲染属性
@@ -143,10 +145,10 @@ export class ColumnInfo {
143
145
  // 不支持双向的属性
144
146
  if (name !== 'filters') {
145
147
  if (name === 'field') {
148
+ // 兼容旧属性
146
149
  this.property = value
147
- } else {
148
- this[name] = value
149
150
  }
151
+ this[name] = value
150
152
  }
151
153
  }
152
154
 
@@ -2,7 +2,9 @@ import { VxeTableEmits } from '../../../types/all'
2
2
 
3
3
  export default [
4
4
  'update:data',
5
+ 'keydown-start',
5
6
  'keydown',
7
+ 'keydown-end',
6
8
  'paste',
7
9
  'copy',
8
10
  'cut',
@@ -60,5 +62,7 @@ export default [
60
62
  'cell-area-extension-start',
61
63
  'cell-area-extension-end',
62
64
  'cell-area-arrows-start',
63
- 'cell-area-arrows-end'
65
+ 'cell-area-arrows-end',
66
+ 'active-cell-move-start',
67
+ 'active-cell-move-end'
64
68
  ] as VxeTableEmits
@@ -12,7 +12,7 @@ export default {
12
12
  height: [Number, String] as PropType<VxeTablePropTypes.Height>,
13
13
  // 表格的最大高度
14
14
  maxHeight: [Number, String] as PropType<VxeTablePropTypes.MaxHeight>,
15
- // 所有列是否允许拖动列宽调整大小
15
+ // (即将废弃)所有列是否允许拖动列宽调整大小
16
16
  resizable: { type: Boolean as PropType<VxeTablePropTypes.Resizable>, default: () => GlobalConfig.table.resizable },
17
17
  // 是否带有斑马纹
18
18
  stripe: { type: Boolean as PropType<VxeTablePropTypes.Stripe>, default: () => GlobalConfig.table.stripe },
@@ -88,9 +88,11 @@ export default {
88
88
  showFooterOverflow: { type: [Boolean, String] as PropType<VxeTablePropTypes.ShowFooterOverflow>, default: () => GlobalConfig.table.showFooterOverflow },
89
89
 
90
90
  /** 高级属性 */
91
- // 主键配置
91
+ // (即将废弃)columnKey 已废弃,被 column-config.useKey 替换
92
92
  columnKey: Boolean as PropType<VxeTablePropTypes.ColumnKey>,
93
+ // (即将废弃)rowKey 已废弃,被 row-config.useKey 替换
93
94
  rowKey: Boolean as PropType<VxeTablePropTypes.RowKey>,
95
+ // (即将废弃)rowId 已废弃,被 row-config.keyField 替换
94
96
  rowId: { type: String as PropType<VxeTablePropTypes.RowId>, default: () => GlobalConfig.table.rowId },
95
97
  zIndex: Number as PropType<VxeTablePropTypes.ZIndex>,
96
98
  emptyText: { type: String as PropType<VxeTablePropTypes.EmptyText>, default: () => GlobalConfig.table.emptyText },
@@ -155,6 +157,7 @@ export default {
155
157
  scrollY: Object as PropType<VxeTablePropTypes.ScrollY>,
156
158
  // (即将废弃)优化相关
157
159
  animat: { type: Boolean as PropType<VxeTablePropTypes.Animat>, default: () => GlobalConfig.table.animat },
160
+ // (可能会被废弃的参数,不要使用)
158
161
  delayHover: { type: Number as PropType<VxeTablePropTypes.DelayHover>, default: () => GlobalConfig.table.delayHover as number },
159
162
  // 额外的参数
160
163
  params: Object as PropType<VxeTablePropTypes.Params>