ele-admin-plus 1.1.6-beta.1 → 1.1.6-beta.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 (513) hide show
  1. package/README.md +1 -1
  2. package/es/components.d.ts +1 -0
  3. package/es/components.js +10 -8
  4. package/es/ele-alert/index.d.ts +4 -4
  5. package/es/ele-alert/props.d.ts +2 -2
  6. package/es/ele-app/index.d.ts +1 -1
  7. package/es/ele-app/style/common/index.js +1 -0
  8. package/es/ele-app/style/css-var.scss +9 -137
  9. package/es/ele-app/style/index.js +4 -6
  10. package/es/ele-app/style/index.scss +4 -4
  11. package/es/ele-app/style/message/css-var.scss +12 -0
  12. package/es/ele-app/style/{message.js → message/index.js} +1 -1
  13. package/{lib/ele-app/style/message.scss → es/ele-app/style/message/index.scss} +2 -2
  14. package/es/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  15. package/es/ele-app/style/overwrite/autocomplete/index.js +1 -0
  16. package/es/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  17. package/es/ele-app/style/overwrite/backtop/index.js +1 -0
  18. package/es/ele-app/style/overwrite/backtop/index.scss +8 -0
  19. package/es/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  20. package/es/ele-app/style/overwrite/cascader/index.js +1 -0
  21. package/es/ele-app/style/overwrite/cascader/index.scss +115 -0
  22. package/es/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  23. package/es/ele-app/style/overwrite/checkbox/index.js +1 -0
  24. package/es/ele-app/style/overwrite/checkbox/index.scss +159 -0
  25. package/es/ele-app/style/overwrite/color-picker/index.js +1 -0
  26. package/es/ele-app/style/overwrite/color-picker/index.scss +42 -0
  27. package/es/ele-app/style/overwrite/css-var.scss +33 -0
  28. package/es/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  29. package/es/ele-app/style/overwrite/date-picker/index.js +1 -0
  30. package/es/ele-app/style/overwrite/date-picker/index.scss +866 -0
  31. package/es/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  32. package/es/ele-app/style/overwrite/descriptions/index.js +1 -0
  33. package/es/ele-app/style/overwrite/descriptions/index.scss +48 -0
  34. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  35. package/es/ele-app/style/overwrite/image-viewer/index.js +1 -0
  36. package/es/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  37. package/es/ele-app/style/overwrite/index.js +16 -0
  38. package/es/ele-app/style/overwrite/index.scss +16 -0
  39. package/es/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  40. package/es/ele-app/style/overwrite/message-box/index.js +2 -0
  41. package/es/ele-app/style/overwrite/message-box/index.scss +84 -0
  42. package/es/ele-app/style/overwrite/notification/css-var.scss +8 -0
  43. package/es/ele-app/style/overwrite/notification/index.js +2 -0
  44. package/es/ele-app/style/overwrite/notification/index.scss +65 -0
  45. package/es/ele-app/style/overwrite/popper/css-var.scss +14 -0
  46. package/es/ele-app/style/overwrite/popper/index.js +1 -0
  47. package/es/ele-app/style/overwrite/popper/index.scss +9 -0
  48. package/es/ele-app/style/overwrite/radio/css-var.scss +8 -0
  49. package/es/ele-app/style/overwrite/radio/index.js +1 -0
  50. package/es/ele-app/style/overwrite/radio/index.scss +126 -0
  51. package/es/ele-app/style/overwrite/select/css-var.scss +8 -0
  52. package/es/ele-app/style/overwrite/select/index.js +1 -0
  53. package/es/ele-app/style/overwrite/select/index.scss +111 -0
  54. package/es/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  55. package/es/ele-app/style/overwrite/table-filter/index.js +1 -0
  56. package/es/ele-app/style/overwrite/table-filter/index.scss +98 -0
  57. package/es/ele-app/style/overwrite/tag/css-var.scss +24 -0
  58. package/es/ele-app/style/overwrite/tag/index.js +1 -0
  59. package/es/ele-app/style/overwrite/tag/index.scss +303 -0
  60. package/es/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  61. package/es/ele-app/style/overwrite/tree-select/index.js +1 -0
  62. package/es/ele-app/style/overwrite/tree-select/index.scss +138 -0
  63. package/es/ele-app/style/scrollbar/css-var.scss +53 -0
  64. package/es/ele-app/style/scrollbar/index.js +1 -0
  65. package/es/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  66. package/es/ele-app/types/components.d.ts +31 -12
  67. package/es/ele-app/types/core.d.ts +30 -0
  68. package/es/ele-app/types/element.d.ts +61 -0
  69. package/es/ele-app/types/index.d.ts +3 -86
  70. package/es/ele-avatar-group/index.d.ts +5 -5
  71. package/es/ele-avatar-group/props.d.ts +2 -2
  72. package/es/ele-basic-select/index.d.ts +51 -27
  73. package/es/ele-basic-select/index.js +151 -74
  74. package/es/ele-basic-select/props.d.ts +37 -29
  75. package/es/ele-basic-select/props.js +39 -29
  76. package/es/ele-basic-select/style/index.scss +123 -47
  77. package/es/ele-basic-select/types/index.d.ts +4 -0
  78. package/es/ele-basic-select/util.d.ts +14 -0
  79. package/es/ele-basic-select/util.js +30 -0
  80. package/es/ele-breadcrumb/index.d.ts +4 -4
  81. package/es/ele-breadcrumb/props.d.ts +2 -2
  82. package/es/ele-card/index.d.ts +7 -3
  83. package/es/ele-card/index.js +14 -0
  84. package/es/ele-card/props.d.ts +5 -1
  85. package/es/ele-card/props.js +4 -0
  86. package/es/ele-card/style/index.scss +11 -0
  87. package/es/ele-check-card/components/card-item.d.ts +1 -1
  88. package/es/ele-check-card/index.d.ts +11 -4
  89. package/es/ele-check-card/props.d.ts +4 -1
  90. package/es/ele-check-card/props.js +6 -1
  91. package/es/ele-config-provider/index.d.ts +4 -4
  92. package/es/ele-config-provider/index.js +6 -6
  93. package/es/ele-config-provider/props.d.ts +3 -3
  94. package/es/ele-config-provider/props.js +3 -3
  95. package/es/ele-config-provider/receiver.d.ts +3 -3
  96. package/es/ele-config-provider/receiver.js +103 -99
  97. package/es/ele-config-provider/types/index.d.ts +7 -9
  98. package/es/ele-copyable/index.d.ts +5 -3
  99. package/es/ele-cropper/index.d.ts +10 -8
  100. package/es/ele-cropper-modal/index.d.ts +7 -7
  101. package/es/ele-cropper-modal/props.d.ts +5 -2
  102. package/es/ele-data-table/index.d.ts +34 -22
  103. package/es/ele-data-table/index.js +265 -73
  104. package/es/ele-data-table/props.d.ts +18 -8
  105. package/es/ele-data-table/props.js +12 -2
  106. package/es/ele-data-table/style/index.scss +6 -1
  107. package/es/ele-data-table/types/index.d.ts +46 -28
  108. package/es/ele-data-table/util.d.ts +54 -26
  109. package/es/ele-data-table/util.js +99 -61
  110. package/es/ele-drawer/index.d.ts +53 -50
  111. package/es/ele-drawer/props.d.ts +19 -18
  112. package/es/ele-dropdown/index.d.ts +46 -46
  113. package/es/ele-dropdown/props.d.ts +16 -16
  114. package/es/ele-edit-tag/index.d.ts +12 -17
  115. package/es/ele-edit-tag/index.js +32 -26
  116. package/es/ele-edit-tag/props.d.ts +3 -5
  117. package/es/ele-edit-tag/props.js +0 -2
  118. package/es/ele-edit-tag/style/index.scss +65 -39
  119. package/es/ele-ellipsis/index.d.ts +2 -3
  120. package/es/ele-ellipsis/index.js +24 -3
  121. package/es/ele-ellipsis/types/index.d.ts +1 -1
  122. package/es/ele-file-list/components/file-grid-item.d.ts +1 -1
  123. package/es/ele-file-list/components/file-grid-item.js +5 -3
  124. package/es/ele-file-list/components/file-grid.d.ts +4 -3
  125. package/es/ele-file-list/components/file-grid.js +8 -1
  126. package/es/ele-file-list/components/file-table-item.d.ts +1 -1
  127. package/es/ele-file-list/components/file-table-item.js +5 -3
  128. package/es/ele-file-list/components/file-table.d.ts +4 -3
  129. package/es/ele-file-list/components/file-table.js +8 -1
  130. package/es/ele-file-list/index.d.ts +6 -6
  131. package/es/ele-file-list/props.d.ts +1 -1
  132. package/es/ele-icon-select/index.d.ts +53 -51
  133. package/es/ele-icon-select/index.js +222 -64
  134. package/es/ele-icon-select/props.d.ts +26 -33
  135. package/es/ele-icon-select/props.js +24 -31
  136. package/es/ele-icon-select/style/index.js +0 -1
  137. package/es/ele-icon-select/style/index.scss +0 -12
  138. package/es/ele-map-picker/components/map-view.d.ts +6 -6
  139. package/es/ele-map-picker/components/map-view.js +2 -1
  140. package/es/ele-map-picker/index.d.ts +6 -6
  141. package/es/ele-map-picker/props.d.ts +2 -3
  142. package/es/ele-menus/index.d.ts +28 -19
  143. package/es/ele-menus/props.d.ts +10 -7
  144. package/es/ele-modal/index.d.ts +50 -44
  145. package/es/ele-modal/index.js +63 -17
  146. package/es/ele-modal/props.d.ts +16 -15
  147. package/es/ele-modal/util.d.ts +3 -1
  148. package/es/ele-modal/util.js +6 -4
  149. package/es/ele-pagination/index.d.ts +22 -22
  150. package/es/ele-pagination/index.js +2 -1
  151. package/es/ele-pagination/props.d.ts +9 -9
  152. package/es/ele-popconfirm/index.d.ts +74 -132
  153. package/es/ele-popconfirm/props.d.ts +26 -49
  154. package/es/ele-popover/index.d.ts +62 -119
  155. package/es/ele-popover/props.d.ts +23 -46
  156. package/es/ele-popover/props.js +1 -1
  157. package/es/ele-printer/index.d.ts +5 -3
  158. package/es/ele-printer/index.js +4 -3
  159. package/es/ele-printer/props.d.ts +4 -2
  160. package/es/ele-printer/props.js +3 -1
  161. package/es/ele-printer/types/index.d.ts +5 -1
  162. package/es/ele-printer/util.d.ts +6 -0
  163. package/es/ele-printer/util.js +11 -3
  164. package/es/ele-pro-layout/components/pro-header.d.ts +6 -6
  165. package/es/ele-pro-layout/components/pro-header.js +8 -3
  166. package/es/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  167. package/es/ele-pro-layout/components/pro-sidebar.js +6 -5
  168. package/es/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  169. package/es/ele-pro-layout/components/pro-sidebox.js +6 -5
  170. package/es/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  171. package/es/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  172. package/es/ele-pro-layout/components/tab-dropdown.js +4 -3
  173. package/es/ele-pro-layout/index.d.ts +23 -25
  174. package/es/ele-pro-layout/index.js +51 -4
  175. package/es/ele-pro-layout/props.d.ts +4 -4
  176. package/es/ele-pro-layout/props.js +1 -1
  177. package/es/ele-pro-layout/style/layout-mobile.scss +4 -0
  178. package/es/ele-pro-layout/types/index.d.ts +5 -6
  179. package/es/ele-pro-layout/util.d.ts +1 -2
  180. package/es/ele-pro-table/components/table-tools.d.ts +3 -3
  181. package/es/ele-pro-table/components/table-tools.js +5 -8
  182. package/es/ele-pro-table/components/tool-column.d.ts +2 -2
  183. package/es/ele-pro-table/index.d.ts +44 -46
  184. package/es/ele-pro-table/index.js +123 -82
  185. package/es/ele-pro-table/props.d.ts +17 -20
  186. package/es/ele-pro-table/props.js +1 -1
  187. package/es/ele-pro-table/types/index.d.ts +5 -14
  188. package/es/ele-pro-table/util.d.ts +5 -11
  189. package/es/ele-pro-table/util.js +4 -5
  190. package/es/ele-segmented/index.d.ts +1 -1
  191. package/es/ele-split-panel/index.d.ts +1 -0
  192. package/es/ele-split-panel/index.js +34 -4
  193. package/es/ele-steps/index.d.ts +24 -24
  194. package/es/ele-steps/props.d.ts +7 -7
  195. package/es/ele-table-select/index.d.ts +83 -86
  196. package/es/ele-table-select/index.js +265 -236
  197. package/es/ele-table-select/props.d.ts +43 -37
  198. package/es/ele-table-select/props.js +41 -32
  199. package/es/ele-tabs/components/tab-title.d.ts +2 -2
  200. package/es/ele-tabs/components/tab-title.js +6 -5
  201. package/es/ele-tabs/index.d.ts +28 -29
  202. package/es/ele-tabs/index.js +12 -4
  203. package/es/ele-tabs/props.d.ts +10 -10
  204. package/es/ele-text/index.d.ts +2 -2
  205. package/es/ele-tool/index.d.ts +3 -3
  206. package/es/ele-tool/props.d.ts +1 -1
  207. package/es/ele-tooltip/index.d.ts +49 -102
  208. package/es/ele-tooltip/props.d.ts +19 -41
  209. package/es/ele-tour/index.d.ts +2 -2
  210. package/es/ele-tour/types/index.d.ts +1 -1
  211. package/es/ele-tour/util.d.ts +1 -1
  212. package/es/ele-tree-select/index.d.ts +144 -0
  213. package/es/ele-tree-select/index.js +412 -0
  214. package/es/ele-tree-select/props.d.ts +92 -0
  215. package/es/ele-tree-select/props.js +87 -0
  216. package/es/ele-tree-select/style/css-var.scss +8 -0
  217. package/es/ele-tree-select/style/index.js +3 -0
  218. package/es/ele-tree-select/style/index.scss +100 -0
  219. package/es/ele-tree-select/types/index.d.ts +17 -0
  220. package/es/ele-tree-select/util.d.ts +48 -0
  221. package/es/ele-tree-select/util.js +128 -0
  222. package/es/ele-upload-list/index.d.ts +1 -1
  223. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  224. package/es/ele-virtual-table/components/body-row.d.ts +3 -3
  225. package/es/ele-virtual-table/components/body-row.js +3 -3
  226. package/es/ele-virtual-table/components/cell-filter.d.ts +1 -1
  227. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  228. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  229. package/es/ele-virtual-table/index.d.ts +386 -0
  230. package/es/ele-virtual-table/index.js +294 -142
  231. package/es/ele-virtual-table/props.d.ts +11 -6
  232. package/es/ele-virtual-table/style/index.scss +1 -1
  233. package/es/ele-virtual-table/types/index.d.ts +13 -5
  234. package/es/ele-virtual-table/util.d.ts +16 -14
  235. package/es/ele-virtual-table/util.js +28 -46
  236. package/es/ele-watermark/index.d.ts +0 -1
  237. package/es/ele-watermark/index.js +14 -14
  238. package/es/ele-watermark/util.d.ts +6 -0
  239. package/es/ele-watermark/util.js +8 -0
  240. package/es/style/index.scss +1 -0
  241. package/es/style/themes/dark.scss +3 -0
  242. package/es/style/themes/default.scss +143 -3
  243. package/es/style/themes/rounded.scss +28 -0
  244. package/es/style/themes/theme-util.scss +3 -3
  245. package/es/utils/core.d.ts +8 -1
  246. package/es/utils/core.js +15 -0
  247. package/lib/components.d.ts +1 -0
  248. package/lib/components.js +10 -8
  249. package/lib/ele-alert/index.d.ts +4 -4
  250. package/lib/ele-alert/props.d.ts +2 -2
  251. package/lib/ele-app/index.d.ts +1 -1
  252. package/lib/ele-app/style/common/index.js +2 -0
  253. package/lib/ele-app/style/css-var.scss +9 -137
  254. package/lib/ele-app/style/index.js +4 -6
  255. package/lib/ele-app/style/index.scss +4 -4
  256. package/lib/ele-app/style/message/css-var.scss +12 -0
  257. package/lib/ele-app/style/{message.js → message/index.js} +1 -1
  258. package/{es/ele-app/style/message.scss → lib/ele-app/style/message/index.scss} +2 -2
  259. package/lib/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  260. package/lib/ele-app/style/overwrite/autocomplete/index.js +2 -0
  261. package/lib/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  262. package/lib/ele-app/style/overwrite/backtop/index.js +2 -0
  263. package/lib/ele-app/style/overwrite/backtop/index.scss +8 -0
  264. package/lib/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  265. package/lib/ele-app/style/overwrite/cascader/index.js +2 -0
  266. package/lib/ele-app/style/overwrite/cascader/index.scss +115 -0
  267. package/lib/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  268. package/lib/ele-app/style/overwrite/checkbox/index.js +2 -0
  269. package/lib/ele-app/style/overwrite/checkbox/index.scss +159 -0
  270. package/lib/ele-app/style/overwrite/color-picker/index.js +2 -0
  271. package/lib/ele-app/style/overwrite/color-picker/index.scss +42 -0
  272. package/lib/ele-app/style/overwrite/css-var.scss +33 -0
  273. package/lib/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  274. package/lib/ele-app/style/overwrite/date-picker/index.js +2 -0
  275. package/lib/ele-app/style/overwrite/date-picker/index.scss +866 -0
  276. package/lib/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  277. package/lib/ele-app/style/overwrite/descriptions/index.js +2 -0
  278. package/lib/ele-app/style/overwrite/descriptions/index.scss +48 -0
  279. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  280. package/lib/ele-app/style/overwrite/image-viewer/index.js +2 -0
  281. package/lib/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  282. package/lib/ele-app/style/overwrite/index.js +17 -0
  283. package/lib/ele-app/style/overwrite/index.scss +16 -0
  284. package/lib/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  285. package/lib/ele-app/style/overwrite/message-box/index.js +3 -0
  286. package/lib/ele-app/style/overwrite/message-box/index.scss +84 -0
  287. package/lib/ele-app/style/overwrite/notification/css-var.scss +8 -0
  288. package/lib/ele-app/style/overwrite/notification/index.js +3 -0
  289. package/lib/ele-app/style/overwrite/notification/index.scss +65 -0
  290. package/lib/ele-app/style/overwrite/popper/css-var.scss +14 -0
  291. package/lib/ele-app/style/overwrite/popper/index.js +2 -0
  292. package/lib/ele-app/style/overwrite/popper/index.scss +9 -0
  293. package/lib/ele-app/style/overwrite/radio/css-var.scss +8 -0
  294. package/lib/ele-app/style/overwrite/radio/index.js +2 -0
  295. package/lib/ele-app/style/overwrite/radio/index.scss +126 -0
  296. package/lib/ele-app/style/overwrite/select/css-var.scss +8 -0
  297. package/lib/ele-app/style/overwrite/select/index.js +2 -0
  298. package/lib/ele-app/style/overwrite/select/index.scss +111 -0
  299. package/lib/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  300. package/lib/ele-app/style/overwrite/table-filter/index.js +2 -0
  301. package/lib/ele-app/style/overwrite/table-filter/index.scss +98 -0
  302. package/lib/ele-app/style/overwrite/tag/css-var.scss +24 -0
  303. package/lib/ele-app/style/overwrite/tag/index.js +2 -0
  304. package/lib/ele-app/style/overwrite/tag/index.scss +303 -0
  305. package/lib/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  306. package/lib/ele-app/style/overwrite/tree-select/index.js +2 -0
  307. package/lib/ele-app/style/overwrite/tree-select/index.scss +138 -0
  308. package/lib/ele-app/style/scrollbar/css-var.scss +53 -0
  309. package/lib/ele-app/style/scrollbar/index.js +2 -0
  310. package/lib/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  311. package/lib/ele-app/types/components.d.ts +31 -12
  312. package/lib/ele-app/types/core.d.ts +30 -0
  313. package/lib/ele-app/types/element.d.ts +61 -0
  314. package/lib/ele-app/types/index.d.ts +3 -86
  315. package/lib/ele-avatar-group/index.d.ts +5 -5
  316. package/lib/ele-avatar-group/props.d.ts +2 -2
  317. package/lib/ele-basic-select/index.d.ts +51 -27
  318. package/lib/ele-basic-select/index.js +150 -73
  319. package/lib/ele-basic-select/props.d.ts +37 -29
  320. package/lib/ele-basic-select/props.js +39 -29
  321. package/lib/ele-basic-select/style/index.scss +123 -47
  322. package/lib/ele-basic-select/types/index.d.ts +4 -0
  323. package/lib/ele-basic-select/util.d.ts +14 -0
  324. package/lib/ele-basic-select/util.js +30 -0
  325. package/lib/ele-breadcrumb/index.d.ts +4 -4
  326. package/lib/ele-breadcrumb/props.d.ts +2 -2
  327. package/lib/ele-card/index.d.ts +7 -3
  328. package/lib/ele-card/index.js +14 -0
  329. package/lib/ele-card/props.d.ts +5 -1
  330. package/lib/ele-card/props.js +4 -0
  331. package/lib/ele-card/style/index.scss +11 -0
  332. package/lib/ele-check-card/components/card-item.d.ts +1 -1
  333. package/lib/ele-check-card/index.d.ts +11 -4
  334. package/lib/ele-check-card/props.d.ts +4 -1
  335. package/lib/ele-check-card/props.js +6 -1
  336. package/lib/ele-config-provider/index.d.ts +4 -4
  337. package/lib/ele-config-provider/index.js +6 -6
  338. package/lib/ele-config-provider/props.d.ts +3 -3
  339. package/lib/ele-config-provider/props.js +3 -3
  340. package/lib/ele-config-provider/receiver.d.ts +3 -3
  341. package/lib/ele-config-provider/receiver.js +2 -2
  342. package/lib/ele-config-provider/types/index.d.ts +7 -9
  343. package/lib/ele-copyable/index.d.ts +5 -3
  344. package/lib/ele-cropper/index.d.ts +10 -8
  345. package/lib/ele-cropper-modal/index.d.ts +7 -7
  346. package/lib/ele-cropper-modal/props.d.ts +5 -2
  347. package/lib/ele-data-table/index.d.ts +34 -22
  348. package/lib/ele-data-table/index.js +262 -70
  349. package/lib/ele-data-table/props.d.ts +18 -8
  350. package/lib/ele-data-table/props.js +12 -2
  351. package/lib/ele-data-table/style/index.scss +6 -1
  352. package/lib/ele-data-table/types/index.d.ts +46 -28
  353. package/lib/ele-data-table/util.d.ts +54 -26
  354. package/lib/ele-data-table/util.js +98 -60
  355. package/lib/ele-drawer/index.d.ts +53 -50
  356. package/lib/ele-drawer/props.d.ts +19 -18
  357. package/lib/ele-dropdown/index.d.ts +46 -46
  358. package/lib/ele-dropdown/props.d.ts +16 -16
  359. package/lib/ele-edit-tag/index.d.ts +12 -17
  360. package/lib/ele-edit-tag/index.js +31 -25
  361. package/lib/ele-edit-tag/props.d.ts +3 -5
  362. package/lib/ele-edit-tag/props.js +0 -2
  363. package/lib/ele-edit-tag/style/index.scss +65 -39
  364. package/lib/ele-ellipsis/index.d.ts +2 -3
  365. package/lib/ele-ellipsis/index.js +23 -2
  366. package/lib/ele-ellipsis/types/index.d.ts +1 -1
  367. package/lib/ele-file-list/components/file-grid-item.d.ts +1 -1
  368. package/lib/ele-file-list/components/file-grid-item.js +5 -3
  369. package/lib/ele-file-list/components/file-grid.d.ts +4 -3
  370. package/lib/ele-file-list/components/file-grid.js +8 -1
  371. package/lib/ele-file-list/components/file-table-item.d.ts +1 -1
  372. package/lib/ele-file-list/components/file-table-item.js +5 -3
  373. package/lib/ele-file-list/components/file-table.d.ts +4 -3
  374. package/lib/ele-file-list/components/file-table.js +8 -1
  375. package/lib/ele-file-list/index.d.ts +6 -6
  376. package/lib/ele-file-list/props.d.ts +1 -1
  377. package/lib/ele-icon-select/index.d.ts +53 -51
  378. package/lib/ele-icon-select/index.js +221 -63
  379. package/lib/ele-icon-select/props.d.ts +26 -33
  380. package/lib/ele-icon-select/props.js +24 -31
  381. package/lib/ele-icon-select/style/index.js +0 -1
  382. package/lib/ele-icon-select/style/index.scss +0 -12
  383. package/lib/ele-map-picker/components/map-view.d.ts +6 -6
  384. package/lib/ele-map-picker/components/map-view.js +2 -1
  385. package/lib/ele-map-picker/index.d.ts +6 -6
  386. package/lib/ele-map-picker/props.d.ts +2 -3
  387. package/lib/ele-menus/index.d.ts +28 -19
  388. package/lib/ele-menus/props.d.ts +10 -7
  389. package/lib/ele-modal/index.d.ts +50 -44
  390. package/lib/ele-modal/index.js +62 -16
  391. package/lib/ele-modal/props.d.ts +16 -15
  392. package/lib/ele-modal/util.d.ts +3 -1
  393. package/lib/ele-modal/util.js +6 -4
  394. package/lib/ele-pagination/index.d.ts +22 -22
  395. package/lib/ele-pagination/index.js +2 -1
  396. package/lib/ele-pagination/props.d.ts +9 -9
  397. package/lib/ele-popconfirm/index.d.ts +74 -132
  398. package/lib/ele-popconfirm/props.d.ts +26 -49
  399. package/lib/ele-popover/index.d.ts +62 -119
  400. package/lib/ele-popover/props.d.ts +23 -46
  401. package/lib/ele-popover/props.js +1 -1
  402. package/lib/ele-printer/index.d.ts +5 -3
  403. package/lib/ele-printer/index.js +3 -2
  404. package/lib/ele-printer/props.d.ts +4 -2
  405. package/lib/ele-printer/props.js +3 -1
  406. package/lib/ele-printer/types/index.d.ts +5 -1
  407. package/lib/ele-printer/util.d.ts +6 -0
  408. package/lib/ele-printer/util.js +11 -3
  409. package/lib/ele-pro-layout/components/pro-header.d.ts +6 -6
  410. package/lib/ele-pro-layout/components/pro-header.js +8 -3
  411. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  412. package/lib/ele-pro-layout/components/pro-sidebar.js +5 -4
  413. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  414. package/lib/ele-pro-layout/components/pro-sidebox.js +5 -4
  415. package/lib/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  416. package/lib/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  417. package/lib/ele-pro-layout/components/tab-dropdown.js +4 -3
  418. package/lib/ele-pro-layout/index.d.ts +23 -25
  419. package/lib/ele-pro-layout/index.js +51 -4
  420. package/lib/ele-pro-layout/props.d.ts +4 -4
  421. package/lib/ele-pro-layout/props.js +1 -1
  422. package/lib/ele-pro-layout/style/layout-mobile.scss +4 -0
  423. package/lib/ele-pro-layout/types/index.d.ts +5 -6
  424. package/lib/ele-pro-layout/util.d.ts +1 -2
  425. package/lib/ele-pro-table/components/table-tools.d.ts +3 -3
  426. package/lib/ele-pro-table/components/table-tools.js +4 -7
  427. package/lib/ele-pro-table/components/tool-column.d.ts +2 -2
  428. package/lib/ele-pro-table/index.d.ts +44 -46
  429. package/lib/ele-pro-table/index.js +119 -78
  430. package/lib/ele-pro-table/props.d.ts +17 -20
  431. package/lib/ele-pro-table/props.js +1 -1
  432. package/lib/ele-pro-table/types/index.d.ts +5 -14
  433. package/lib/ele-pro-table/util.d.ts +5 -11
  434. package/lib/ele-pro-table/util.js +4 -5
  435. package/lib/ele-segmented/index.d.ts +1 -1
  436. package/lib/ele-split-panel/index.d.ts +1 -0
  437. package/lib/ele-split-panel/index.js +34 -4
  438. package/lib/ele-steps/index.d.ts +24 -24
  439. package/lib/ele-steps/props.d.ts +7 -7
  440. package/lib/ele-table-select/index.d.ts +83 -86
  441. package/lib/ele-table-select/index.js +264 -235
  442. package/lib/ele-table-select/props.d.ts +43 -37
  443. package/lib/ele-table-select/props.js +41 -32
  444. package/lib/ele-tabs/components/tab-title.d.ts +2 -2
  445. package/lib/ele-tabs/components/tab-title.js +6 -5
  446. package/lib/ele-tabs/index.d.ts +28 -29
  447. package/lib/ele-tabs/index.js +11 -3
  448. package/lib/ele-tabs/props.d.ts +10 -10
  449. package/lib/ele-text/index.d.ts +2 -2
  450. package/lib/ele-tool/index.d.ts +3 -3
  451. package/lib/ele-tool/props.d.ts +1 -1
  452. package/lib/ele-tooltip/index.d.ts +49 -102
  453. package/lib/ele-tooltip/props.d.ts +19 -41
  454. package/lib/ele-tour/index.d.ts +2 -2
  455. package/lib/ele-tour/types/index.d.ts +1 -1
  456. package/lib/ele-tour/util.d.ts +1 -1
  457. package/lib/ele-tree-select/index.d.ts +144 -0
  458. package/lib/ele-tree-select/index.js +411 -0
  459. package/lib/ele-tree-select/props.d.ts +92 -0
  460. package/lib/ele-tree-select/props.js +87 -0
  461. package/lib/ele-tree-select/style/css-var.scss +8 -0
  462. package/lib/ele-tree-select/style/index.js +4 -0
  463. package/lib/ele-tree-select/style/index.scss +100 -0
  464. package/lib/ele-tree-select/types/index.d.ts +17 -0
  465. package/lib/ele-tree-select/util.d.ts +48 -0
  466. package/lib/ele-tree-select/util.js +128 -0
  467. package/lib/ele-upload-list/index.d.ts +1 -1
  468. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  469. package/lib/ele-virtual-table/components/body-row.d.ts +3 -3
  470. package/lib/ele-virtual-table/components/body-row.js +3 -3
  471. package/lib/ele-virtual-table/components/cell-filter.d.ts +1 -1
  472. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  473. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  474. package/lib/ele-virtual-table/index.d.ts +386 -0
  475. package/lib/ele-virtual-table/index.js +291 -139
  476. package/lib/ele-virtual-table/props.d.ts +11 -6
  477. package/lib/ele-virtual-table/style/index.scss +1 -1
  478. package/lib/ele-virtual-table/types/index.d.ts +13 -5
  479. package/lib/ele-virtual-table/util.d.ts +16 -14
  480. package/lib/ele-virtual-table/util.js +26 -44
  481. package/lib/ele-watermark/index.d.ts +0 -1
  482. package/lib/ele-watermark/index.js +13 -13
  483. package/lib/ele-watermark/util.d.ts +6 -0
  484. package/lib/ele-watermark/util.js +8 -0
  485. package/lib/style/index.scss +1 -0
  486. package/lib/style/themes/dark.scss +3 -0
  487. package/lib/style/themes/default.scss +143 -3
  488. package/lib/style/themes/rounded.scss +28 -0
  489. package/lib/style/themes/theme-util.scss +3 -3
  490. package/lib/utils/core.d.ts +8 -1
  491. package/lib/utils/core.js +15 -0
  492. package/package.json +63 -57
  493. package/typings/global.d.ts +1 -0
  494. package/es/ele-app/style/common.js +0 -1
  495. package/es/ele-app/style/overwrite.js +0 -1
  496. package/es/ele-app/style/overwrite.scss +0 -1728
  497. package/es/ele-app/style/scrollbar.js +0 -1
  498. package/es/ele-basic-select/components/select-tag.d.ts +0 -32
  499. package/es/ele-basic-select/components/select-tag.js +0 -65
  500. package/es/ele-icon-select/components/icon-popper.d.ts +0 -93
  501. package/es/ele-icon-select/components/icon-popper.js +0 -253
  502. package/es/ele-table-select/types/index.d.ts +0 -12
  503. package/lib/ele-app/style/common.js +0 -2
  504. package/lib/ele-app/style/overwrite.js +0 -2
  505. package/lib/ele-app/style/overwrite.scss +0 -1728
  506. package/lib/ele-app/style/scrollbar.js +0 -2
  507. package/lib/ele-basic-select/components/select-tag.d.ts +0 -32
  508. package/lib/ele-basic-select/components/select-tag.js +0 -64
  509. package/lib/ele-icon-select/components/icon-popper.d.ts +0 -93
  510. package/lib/ele-icon-select/components/icon-popper.js +0 -252
  511. package/lib/ele-table-select/types/index.d.ts +0 -12
  512. /package/es/ele-app/style/{common.scss → common/index.scss} +0 -0
  513. /package/lib/ele-app/style/{common.scss → common/index.scss} +0 -0
@@ -1,7 +1,7 @@
1
- import { defineComponent, ref, computed, watch, nextTick, h } from "vue";
1
+ import { defineComponent, ref, computed, watch, nextTick, onMounted, h } from "vue";
2
2
  import { ElTable } from "element-plus";
3
- import { pick, eachTree } from "../utils/core";
4
- import { useEmits, useMethods, useState, getGlobalTooltipProps, getStateCols, getBodyRowClass, getHeadRowClass, isDisableRow, getTableFilter, getCols, getEmptySlot, getValue } from "./util";
3
+ import { pick, omit, eachTree } from "../utils/core";
4
+ import { useEmits, useMethods, isReserveChecked, getGlobalTooltipProps, getStateCols, getBodyRowClass, getHeadRowClass, isDisableRow, getValue, getTableFilter, getRowKeys, getCols, getEmptySlot, valueIsChanged, getRowByKey, arrayIsChanged, getKeysAndList } from "./util";
5
5
  import { dataTableProps, dataTableEmits, tablePropKeys } from "./props";
6
6
  const index = defineComponent({
7
7
  name: "EleDataTable",
@@ -10,14 +10,13 @@ const index = defineComponent({
10
10
  setup(props, { emit, slots, expose }) {
11
11
  const events = useEmits(emit);
12
12
  const methods = useMethods(() => tableRef.value);
13
- const {
14
- getSorter,
15
- setSorter,
16
- getFilter,
17
- setFilter,
18
- getSelectionNoChange,
19
- setSelectionNoChange
20
- } = useState(props.defaultSort);
13
+ const tableState = {
14
+ sorter: props.defaultSort,
15
+ key: null,
16
+ checkedKeys: [],
17
+ checked: [],
18
+ reserveChecked: isReserveChecked(props.columns)
19
+ };
21
20
  const tableRef = ref(null);
22
21
  const tableCols = ref(props.columns ?? []);
23
22
  const tableOverflowTooltip = computed(() => {
@@ -27,73 +26,252 @@ const index = defineComponent({
27
26
  props.tooltipOptions
28
27
  );
29
28
  });
30
- watch(
31
- () => props.columns,
32
- (columns) => {
33
- if (!columns) {
34
- tableCols.value = [];
35
- return;
36
- }
37
- const { cols, sorter } = getStateCols(
38
- columns,
39
- getSorter(),
40
- getFilter()
41
- );
42
- tableCols.value = cols;
43
- nextTick(() => {
44
- methods.doLayout();
45
- if (sorter) {
46
- methods.sort(sorter.prop, sorter.order || "ascending");
47
- }
48
- });
49
- },
50
- { deep: true }
51
- );
29
+ const childKey = computed(() => {
30
+ var _a;
31
+ return ((_a = props.treeProps) == null ? void 0 : _a.children) || "children";
32
+ });
52
33
  const clearSort = () => {
53
34
  methods.clearSort();
54
- setSorter({});
35
+ tableState.sorter = {};
36
+ };
37
+ const clearSelection = () => {
38
+ updateCheckedState([]);
39
+ };
40
+ const toggleRowSelection = (row, selected) => {
41
+ methods.toggleRowSelection(row, selected);
42
+ const selection = methods.getSelectionRows() || [];
43
+ updateCheckedState(getRowKeys(selection, props.rowKey), selection);
44
+ };
45
+ const setCurrentRow = (row) => {
46
+ updateSelectedState(getValue(row, props.rowKey), row);
47
+ };
48
+ const setCurrentRowKey = (key) => {
49
+ updateSelectedState(key);
50
+ };
51
+ const getCurrentRow = () => {
52
+ return tableState.row;
55
53
  };
56
54
  const setSelectedRows = (rows) => {
57
- if (rows == null) {
58
- return;
55
+ if (rows) {
56
+ updateCheckedState(getRowKeys(rows, props.rowKey), rows, !!rows.length);
59
57
  }
60
- setSelectionNoChange(true);
61
- methods.clearSelection();
62
- rows.forEach((d) => {
63
- methods.toggleRowSelection(d, true);
64
- });
65
- setSelectionNoChange(false);
66
- events.onSelectionChange(rows);
67
58
  };
68
59
  const setSelectedRowKeys = (keys) => {
69
- if (!keys || !props.rowKey) {
70
- return;
60
+ if (keys) {
61
+ updateCheckedState(keys);
71
62
  }
72
- const rows = props.data.filter(
73
- (d) => keys.some((v) => v === getValue(d, props.rowKey))
74
- );
75
- setSelectedRows(rows);
76
63
  };
77
64
  const toggleRowExpansionAll = (expanded) => {
78
- var _a;
79
- const childKey = ((_a = props.treeProps) == null ? void 0 : _a.children) || "children";
80
65
  eachTree(
81
66
  props.data,
82
- (d) => {
83
- var _a2;
84
- if ((_a2 = d[childKey]) == null ? void 0 : _a2.length) {
85
- methods.toggleRowExpansion(d, expanded);
67
+ (row) => {
68
+ var _a;
69
+ if ((_a = row[childKey.value]) == null ? void 0 : _a.length) {
70
+ methods.toggleRowExpansion(row, expanded);
86
71
  }
87
72
  },
88
- childKey
73
+ childKey.value
89
74
  );
90
75
  };
76
+ const updateSelectedState = (key, item) => {
77
+ if (!valueIsChanged(tableState.key, key)) {
78
+ if (key != null && item != null) {
79
+ if (tableState.row !== item) {
80
+ tableState.row = item;
81
+ events.onCurrentChange(item, tableState.oldRow);
82
+ }
83
+ methods.setCurrentRow(item);
84
+ }
85
+ return;
86
+ }
87
+ if (key != null) {
88
+ const row = getRowByKey(key, props.data, props.rowKey, childKey.value);
89
+ if (row != null || props.reserveCurrent) {
90
+ tableState.oldRow = tableState.row;
91
+ tableState.row = row || item || void 0;
92
+ if (tableState.row == null && props.cacheData != null) {
93
+ tableState.row = getRowByKey(
94
+ key,
95
+ props.cacheData,
96
+ props.rowKey,
97
+ childKey.value
98
+ );
99
+ }
100
+ tableState.key = key;
101
+ methods.setCurrentRow(row);
102
+ updateCurrentRowKey(key);
103
+ events.onCurrentChange(tableState.row, tableState.oldRow);
104
+ return;
105
+ }
106
+ }
107
+ if (tableState.key != null) {
108
+ tableState.oldRow = tableState.row;
109
+ tableState.row = void 0;
110
+ tableState.key = null;
111
+ methods.setCurrentRow(null);
112
+ updateCurrentRowKey();
113
+ events.onCurrentChange(void 0, tableState.oldRow);
114
+ }
115
+ };
116
+ const updateCheckedState = (keys, items, force) => {
117
+ if (!force && !arrayIsChanged(tableState.checkedKeys, keys)) {
118
+ return;
119
+ }
120
+ const [dataKeys, list] = getKeysAndList(
121
+ props.data,
122
+ props.rowKey,
123
+ childKey.value
124
+ );
125
+ const [cacheKeys, cacheList] = getKeysAndList(
126
+ props.cacheData,
127
+ props.rowKey,
128
+ childKey.value
129
+ );
130
+ const itemKeys = items ? items.map((d) => getValue(d, props.rowKey)) : [];
131
+ const oldKeys = tableState.checked.map((d) => getValue(d, props.rowKey));
132
+ const checkedKeys = [];
133
+ const checked = [];
134
+ keys.forEach((key) => {
135
+ const index2 = dataKeys.indexOf(key);
136
+ if (index2 !== -1) {
137
+ checkedKeys.push(key);
138
+ checked.push(list[index2]);
139
+ } else if (tableState.reserveChecked) {
140
+ checkedKeys.push(key);
141
+ if (items != null) {
142
+ const tIndex = itemKeys.indexOf(key);
143
+ if (tIndex !== -1 && !items[tIndex]._isMock) {
144
+ checked.push(items[tIndex]);
145
+ return;
146
+ }
147
+ }
148
+ if (props.cacheData != null) {
149
+ const i = cacheKeys.indexOf(key);
150
+ if (i !== -1) {
151
+ checked.push(cacheList[i]);
152
+ return;
153
+ }
154
+ }
155
+ const oIndex = oldKeys.indexOf(key);
156
+ if (oIndex !== -1) {
157
+ checked.push(tableState.checked[oIndex]);
158
+ return;
159
+ }
160
+ if (typeof props.rowKey === "string") {
161
+ checked.push({ [props.rowKey]: key, _isMock: true });
162
+ }
163
+ }
164
+ });
165
+ const isChanged = arrayIsChanged(tableState.checked, checked);
166
+ tableState.checked = checked;
167
+ tableState.checkedKeys = checkedKeys;
168
+ if (isChanged) {
169
+ methods.clearSelection();
170
+ checked.forEach((row) => {
171
+ methods.toggleRowSelection(row, true);
172
+ });
173
+ }
174
+ updateSelectedRowKeys(checkedKeys);
175
+ if (isChanged) {
176
+ events.onSelectionChange(checked);
177
+ }
178
+ };
179
+ const updateSelectedAndChecked = () => {
180
+ const key = tableState.key;
181
+ if (key != null) {
182
+ const row = getRowByKey(key, props.data, props.rowKey, childKey.value);
183
+ if (row != null) {
184
+ updateSelectedState(key, row);
185
+ } else if (!props.reserveCurrent) {
186
+ updateSelectedState(null);
187
+ } else if (props.cacheData != null) {
188
+ const temp = getRowByKey(
189
+ key,
190
+ props.cacheData,
191
+ props.rowKey,
192
+ childKey.value
193
+ );
194
+ if (temp != null) {
195
+ updateSelectedState(key, temp);
196
+ }
197
+ }
198
+ }
199
+ if (tableState.checkedKeys.length) {
200
+ updateCheckedState(tableState.checkedKeys, void 0, true);
201
+ }
202
+ };
203
+ const updateCurrentRowKey = (key) => {
204
+ if (valueIsChanged(props.currentRowKey, key)) {
205
+ events["onUpdate:currentRowKey"](key);
206
+ }
207
+ };
208
+ const updateSelectedRowKeys = (keys) => {
209
+ const selected = props.selectedRowKeys || [];
210
+ if (arrayIsChanged(selected, keys)) {
211
+ events["onUpdate:selectedRowKeys"](keys);
212
+ }
213
+ };
214
+ watch(
215
+ () => props.columns,
216
+ (columns) => {
217
+ tableState.reserveChecked = isReserveChecked(columns);
218
+ if (!columns) {
219
+ tableCols.value = [];
220
+ } else {
221
+ const { cols, sorter } = getStateCols(
222
+ columns,
223
+ tableState.sorter,
224
+ tableState.filter
225
+ );
226
+ tableCols.value = cols;
227
+ nextTick(() => {
228
+ methods.doLayout();
229
+ if (sorter) {
230
+ methods.sort(sorter.prop, sorter.order || "ascending");
231
+ }
232
+ });
233
+ }
234
+ },
235
+ { deep: true }
236
+ );
237
+ watch([() => props.data, () => props.cacheData], () => {
238
+ nextTick(() => {
239
+ updateSelectedAndChecked();
240
+ });
241
+ });
242
+ watch(
243
+ () => props.currentRowKey,
244
+ (key) => {
245
+ updateSelectedState(key);
246
+ }
247
+ );
248
+ watch(
249
+ () => props.selectedRowKeys,
250
+ (selectedRowKeys) => {
251
+ updateCheckedState(selectedRowKeys || []);
252
+ },
253
+ { deep: true }
254
+ );
255
+ onMounted(() => {
256
+ if (props.currentRowKey != null) {
257
+ updateSelectedState(props.currentRowKey);
258
+ }
259
+ if (props.selectedRowKeys != null && props.selectedRowKeys.length) {
260
+ updateCheckedState(props.selectedRowKeys);
261
+ }
262
+ });
91
263
  const exposeValue = {
92
264
  ...methods,
93
265
  clearSort,
266
+ clearSelection,
267
+ toggleRowSelection,
268
+ setCurrentRow,
269
+ setCurrentRowKey,
270
+ getCurrentRow,
94
271
  setSelectedRows,
95
272
  setSelectedRowKeys,
96
273
  toggleRowExpansionAll,
274
+ updateSelectedAndChecked,
97
275
  tableRef
98
276
  };
99
277
  expose(exposeValue);
@@ -102,13 +280,17 @@ const index = defineComponent({
102
280
  ElTable,
103
281
  {
104
282
  ...pick(props, tablePropKeys),
105
- ...events,
283
+ ...omit(events, [
284
+ "onUpdate:currentRowKey",
285
+ "onUpdate:selectedRowKeys"
286
+ ]),
106
287
  ref: tableRef,
107
288
  class: [
108
289
  "ele-data-table",
109
290
  { "is-sticky": props.sticky },
110
291
  { "hide-bottom-line": !props.bottomLine }
111
292
  ],
293
+ currentRowKey: void 0,
112
294
  emptyText: props.errorText || props.emptyText,
113
295
  rowClassName: (param) => {
114
296
  return getBodyRowClass(props.rowClassName, param);
@@ -123,10 +305,11 @@ const index = defineComponent({
123
305
  onRowClick: (row, column, event) => {
124
306
  if (props.rowClickChecked && !isDisableRow(row, props.data.indexOf(row), props.columns)) {
125
307
  const selections = methods.getSelectionRows();
126
- if (props.rowClickChecked === "smart" && selections != null && selections.length === 1) {
127
- methods.setSelectedRows([row]);
308
+ if (props.rowClickChecked === "smart" && (!selections || !selections.length || selections.length === 1)) {
309
+ const key = getValue(row, props.rowKey);
310
+ updateCheckedState(key == null ? [] : [key]);
128
311
  } else {
129
- methods.toggleRowSelection(row);
312
+ toggleRowSelection(row);
130
313
  }
131
314
  }
132
315
  events.onRowClick(row, column, event);
@@ -136,29 +319,38 @@ const index = defineComponent({
136
319
  const el = e.currentTarget;
137
320
  if (el) {
138
321
  const caretEl = el.querySelector(".caret-wrapper");
139
- if (caretEl) {
140
- caretEl.dispatchEvent(new MouseEvent("click"));
141
- }
322
+ caretEl && caretEl.dispatchEvent(new MouseEvent("click"));
142
323
  }
143
324
  }
144
325
  events.onHeaderClick(column, e);
145
326
  },
146
- onSelectionChange: (selection) => {
147
- if (!getSelectionNoChange()) {
148
- events.onSelectionChange(selection);
149
- }
150
- },
151
327
  onSortChange: (sorter) => {
152
- const currentSorter = getSorter();
328
+ const currentSorter = tableState.sorter;
153
329
  if (currentSorter && sorter.prop === currentSorter.prop && sorter.order === currentSorter.order) {
154
330
  return;
155
331
  }
156
- setSorter(sorter);
157
- events.onSortChange(getSorter());
332
+ tableState.sorter = sorter;
333
+ events.onSortChange(sorter);
158
334
  },
159
335
  onFilterChange: (filter) => {
160
- setFilter(getTableFilter(tableRef.value) ?? filter);
161
- events.onFilterChange(getFilter());
336
+ tableState.filter = getTableFilter(tableRef.value) ?? filter;
337
+ events.onFilterChange(tableState.filter);
338
+ },
339
+ // 重写选中逻辑
340
+ onCurrentChange: (row, old) => {
341
+ if (row != null && row !== old) {
342
+ updateSelectedState(getValue(row, props.rowKey), row);
343
+ }
344
+ },
345
+ onSelect: (selection, row) => {
346
+ events.onSelect(selection, row);
347
+ updateCheckedState(getRowKeys(selection, props.rowKey), selection);
348
+ },
349
+ onSelectAll: (selection) => {
350
+ updateCheckedState(getRowKeys(selection, props.rowKey), selection);
351
+ events.onSelectAll(selection);
352
+ },
353
+ onSelectionChange: () => {
162
354
  },
163
355
  // 移除提示组件相关属性
164
356
  showOverflowTooltip: void 0,
@@ -1,12 +1,12 @@
1
1
  import type { PropType, ExtractPropTypes } from 'vue';
2
- import type { DataItem, Column, Columns, Sorter, Filter, TableEmptyProps, RowClickChecked } from './types';
2
+ import type { DataKey, DataItem, Column, Columns, Sorter, Filter, TableEmptyProps, RowClickChecked } from './types';
3
3
  declare const normalizeProps: Omit<{
4
4
  data: {
5
5
  type: PropType<any[]>;
6
6
  default: () => never[];
7
7
  };
8
8
  size: {
9
- readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
9
+ readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
10
10
  readonly required: false;
11
11
  readonly validator: ((val: unknown) => boolean) | undefined;
12
12
  __epPropKey: true;
@@ -137,8 +137,14 @@ export declare const dataTableProps: {
137
137
  };
138
138
  /** 多选时行点击选中 */
139
139
  rowClickChecked: PropType<RowClickChecked>;
140
+ /** 单选选中是否保留不存在的数据 */
141
+ reserveCurrent: BooleanConstructor;
142
+ /** 多选选中行的值 */
143
+ selectedRowKeys: PropType<DataKey[]>;
144
+ /** 缓存数据 */
145
+ cacheData: PropType<DataItem[]>;
140
146
  size: {
141
- readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
147
+ readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
142
148
  readonly required: false;
143
149
  readonly validator: ((val: unknown) => boolean) | undefined;
144
150
  __epPropKey: true;
@@ -165,6 +171,11 @@ export declare const dataTableProps: {
165
171
  default: boolean;
166
172
  };
167
173
  showOverflowTooltip: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
174
+ emptyText: StringConstructor;
175
+ indent: {
176
+ type: NumberConstructor;
177
+ default: number;
178
+ };
168
179
  showHeader: {
169
180
  type: BooleanConstructor;
170
181
  default: boolean;
@@ -182,7 +193,6 @@ export declare const dataTableProps: {
182
193
  headerCellStyle: PropType<import("element-plus/es/components/table/src/table/defaults").CellStyle<any> | undefined>;
183
194
  highlightCurrentRow: BooleanConstructor;
184
195
  currentRowKey: (StringConstructor | NumberConstructor)[];
185
- emptyText: StringConstructor;
186
196
  expandRowKeys: PropType<any[] | undefined>;
187
197
  defaultExpandAll: BooleanConstructor;
188
198
  defaultSort: PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
@@ -201,10 +211,6 @@ export declare const dataTableProps: {
201
211
  type: BooleanConstructor;
202
212
  default: boolean;
203
213
  };
204
- indent: {
205
- type: NumberConstructor;
206
- default: number;
207
- };
208
214
  treeProps: {
209
215
  type: PropType<{
210
216
  hasChildren?: string | undefined;
@@ -245,6 +251,10 @@ export declare const dataTableEmits: {
245
251
  currentChange: (_current?: DataItem | null, _old?: DataItem | null) => boolean;
246
252
  headerDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => boolean;
247
253
  expandChange: (_row: DataItem, _expanded: boolean) => boolean;
254
+ /** 更新单选选中行的值 */
255
+ 'update:currentRowKey': (_currentRowKey?: DataKey) => boolean;
256
+ /** 更新多选选中行的值 */
257
+ 'update:selectedRowKeys': (_selectedRowKeys?: DataKey[]) => boolean;
248
258
  };
249
259
  /**
250
260
  * 表格组件属性名
@@ -45,7 +45,13 @@ const dataTableProps = {
45
45
  }
46
46
  },
47
47
  /** 多选时行点击选中 */
48
- rowClickChecked: [Boolean, String]
48
+ rowClickChecked: [Boolean, String],
49
+ /** 单选选中是否保留不存在的数据 */
50
+ reserveCurrent: Boolean,
51
+ /** 多选选中行的值 */
52
+ selectedRowKeys: Array,
53
+ /** 缓存数据 */
54
+ cacheData: Array
49
55
  };
50
56
  const dataTableEmits = {
51
57
  select: (_selection, _row) => true,
@@ -65,7 +71,11 @@ const dataTableEmits = {
65
71
  filterChange: (_filter) => true,
66
72
  currentChange: (_current, _old) => true,
67
73
  headerDragend: (_width, _old, _column, _e) => true,
68
- expandChange: (_row, _expanded) => true
74
+ expandChange: (_row, _expanded) => true,
75
+ /** 更新单选选中行的值 */
76
+ "update:currentRowKey": (_currentRowKey) => true,
77
+ /** 更新多选选中行的值 */
78
+ "update:selectedRowKeys": (_selectedRowKeys) => true
69
79
  };
70
80
  const tablePropKeys = Object.keys(normalizeProps);
71
81
  const dataTablePropKeys = Object.keys(
@@ -13,6 +13,10 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
13
13
  background: none;
14
14
  }
15
15
 
16
+ .ele-data-table > .el-table__inner-wrapper > .el-table__header-wrapper {
17
+ z-index: 4;
18
+ }
19
+
16
20
  .ele-data-table {
17
21
  /* 单元格背景 */
18
22
  & > .el-table__inner-wrapper {
@@ -268,6 +272,7 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
268
272
  bottom: 0;
269
273
  width: 0;
270
274
  border-left: 1px solid eleVar('table', 'border-color');
275
+ z-index: 5;
271
276
  }
272
277
 
273
278
  &.el-table > .el-table__inner-wrapper::before,
@@ -275,6 +280,7 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
275
280
  right: 0;
276
281
  height: 0;
277
282
  border-top: 1px solid eleVar('table', 'border-color');
283
+ z-index: 5;
278
284
  }
279
285
 
280
286
  &.el-table:not(.has-footer) > .el-table__inner-wrapper::before {
@@ -338,7 +344,6 @@ $ele-expand-path: 'M605.08 512.14L338.35 245.27l51.76-51.68 318.41 318.58L390.09
338
344
  & > .el-table__inner-wrapper > .el-table__header-wrapper {
339
345
  position: sticky;
340
346
  top: eleVar('table', 'sticky-top');
341
- z-index: 3;
342
347
  }
343
348
  }
344
349
  }
@@ -10,8 +10,10 @@ export type DataKey = string | number;
10
10
  export interface DataItem extends Record<keyof any, any> {
11
11
  /** 子级数据 */
12
12
  children?: DataItem[];
13
+ /** 是否为模拟数据 */
14
+ _isMock?: boolean;
13
15
  /** 行唯一值 */
14
- _rowKey?: DataKey;
16
+ _rowKey?: DataKey | null;
15
17
  /** 行索引 */
16
18
  _rowIndex?: number;
17
19
  /** 行是否禁用 */
@@ -67,6 +69,35 @@ export type FilterValue = string[] | undefined;
67
69
  * 排序方式值
68
70
  */
69
71
  export type OrderValue = Exclude<Sorter['order'], undefined>;
72
+ /**
73
+ * 表格状态
74
+ */
75
+ export interface TableState {
76
+ /** 当前排序参数 */
77
+ sorter?: Sorter;
78
+ /** 当前筛选参数 */
79
+ filter?: Filter;
80
+ /** 单选选中值 */
81
+ key: DataKey | null;
82
+ /** 单选选中数据 */
83
+ row?: DataItem;
84
+ /** 单选上次选中数据 */
85
+ oldRow?: DataItem;
86
+ /** 多选选中值 */
87
+ checkedKeys: DataKey[];
88
+ /** 多选选中数据 */
89
+ checked: DataItem[];
90
+ /** 多选选中是否保留不存在的数据 */
91
+ reserveChecked: boolean;
92
+ }
93
+ /**
94
+ * 多选时行点击选中
95
+ */
96
+ export type RowClickChecked = boolean | 'smart';
97
+ /**
98
+ * 表格空组件属性
99
+ */
100
+ export type TableEmptyProps = boolean | ElEmptyProps;
70
101
  /**
71
102
  * 获取表格实例
72
103
  */
@@ -88,25 +119,31 @@ export interface TableMethods {
88
119
  scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void;
89
120
  setScrollTop: (top?: number) => void;
90
121
  setScrollLeft: (left?: number) => void;
91
- /** 设置选中数据 */
122
+ /** 设置单选选中值 */
123
+ setCurrentRowKey: (key?: DataKey | null) => void;
124
+ /** 获取单选选中数据 */
125
+ getCurrentRow: () => DataItem | undefined;
126
+ /** 设置多选选中数据 */
92
127
  setSelectedRows: (rows?: DataItem[]) => void;
93
- /** 设置选中数据 */
94
- setSelectedRowKeys: (keys?: string[] | number[]) => void;
95
- /** 切换所有行的展开状态 */
128
+ /** 设置多选选中值 */
129
+ setSelectedRowKeys: (keys?: DataKey[], rows?: DataItem[]) => void;
130
+ /** 切换所有行展开状态 */
96
131
  toggleRowExpansionAll: (expanded?: boolean) => void;
132
+ /** 更新单选和多选选中 */
133
+ updateSelectedAndChecked: () => void;
97
134
  }
98
135
  /**
99
136
  * 表格尺寸
100
137
  */
101
138
  export type TableSize = ElTableProps<DataItem>['size'];
102
- /**
103
- * 树表格懒加载回调
104
- */
105
- export type ResolveFunction = (data: DataItem[]) => void;
106
139
  /**
107
140
  * 树表格懒加载方法
108
141
  */
109
142
  export type TableLoad = ElTableProps<DataItem>['load'];
143
+ /**
144
+ * 树表格懒加载回调
145
+ */
146
+ export type ResolveFunction = (data: DataItem[]) => void;
110
147
  /**
111
148
  * 嵌套数据配置项
112
149
  */
@@ -114,17 +151,6 @@ export interface TreeProps {
114
151
  hasChildren?: string;
115
152
  children?: string;
116
153
  }
117
- /**
118
- * 表格当前排序和筛选数据
119
- */
120
- export interface TableState {
121
- /** 当前排序值 */
122
- sorter?: Sorter;
123
- /** 当前筛选值 */
124
- filter?: Filter;
125
- /** 是否不触发多选改变事件 */
126
- selectionNoChange?: boolean;
127
- }
128
154
  /**
129
155
  * 溢出提示组件属性
130
156
  */
@@ -181,11 +207,3 @@ export type RowKey = ElTableProps<DataItem>['rowKey'];
181
207
  * 控制行是否可选中的方法
182
208
  */
183
209
  export type RowSelectable = Column['selectable'];
184
- /**
185
- * 表格空组件属性
186
- */
187
- export type TableEmptyProps = boolean | ElEmptyProps;
188
- /**
189
- * 多选时行点击选中
190
- */
191
- export type RowClickChecked = boolean | 'smart';