ele-admin-plus 1.1.6-beta.2 → 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 (462) hide show
  1. package/es/components.d.ts +1 -0
  2. package/es/components.js +10 -8
  3. package/es/ele-alert/index.d.ts +4 -4
  4. package/es/ele-alert/props.d.ts +2 -2
  5. package/es/ele-app/index.d.ts +1 -1
  6. package/es/ele-app/style/common/index.js +1 -0
  7. package/es/ele-app/style/css-var.scss +9 -137
  8. package/es/ele-app/style/index.js +4 -6
  9. package/es/ele-app/style/index.scss +4 -4
  10. package/es/ele-app/style/message/css-var.scss +12 -0
  11. package/es/ele-app/style/{message.js → message/index.js} +1 -1
  12. package/{lib/ele-app/style/message.scss → es/ele-app/style/message/index.scss} +2 -2
  13. package/es/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  14. package/es/ele-app/style/overwrite/autocomplete/index.js +1 -0
  15. package/es/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  16. package/es/ele-app/style/overwrite/backtop/index.js +1 -0
  17. package/es/ele-app/style/overwrite/backtop/index.scss +8 -0
  18. package/es/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  19. package/es/ele-app/style/overwrite/cascader/index.js +1 -0
  20. package/es/ele-app/style/overwrite/cascader/index.scss +115 -0
  21. package/es/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  22. package/es/ele-app/style/overwrite/checkbox/index.js +1 -0
  23. package/es/ele-app/style/overwrite/checkbox/index.scss +159 -0
  24. package/es/ele-app/style/overwrite/color-picker/index.js +1 -0
  25. package/es/ele-app/style/overwrite/color-picker/index.scss +42 -0
  26. package/es/ele-app/style/overwrite/css-var.scss +33 -0
  27. package/es/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  28. package/es/ele-app/style/overwrite/date-picker/index.js +1 -0
  29. package/es/ele-app/style/overwrite/date-picker/index.scss +866 -0
  30. package/es/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  31. package/es/ele-app/style/overwrite/descriptions/index.js +1 -0
  32. package/es/ele-app/style/overwrite/descriptions/index.scss +48 -0
  33. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  34. package/es/ele-app/style/overwrite/image-viewer/index.js +1 -0
  35. package/es/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  36. package/es/ele-app/style/overwrite/index.js +16 -0
  37. package/es/ele-app/style/overwrite/index.scss +16 -0
  38. package/es/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  39. package/es/ele-app/style/overwrite/message-box/index.js +2 -0
  40. package/es/ele-app/style/overwrite/message-box/index.scss +84 -0
  41. package/es/ele-app/style/overwrite/notification/css-var.scss +8 -0
  42. package/es/ele-app/style/overwrite/notification/index.js +2 -0
  43. package/es/ele-app/style/overwrite/notification/index.scss +65 -0
  44. package/es/ele-app/style/overwrite/popper/css-var.scss +14 -0
  45. package/es/ele-app/style/overwrite/popper/index.js +1 -0
  46. package/es/ele-app/style/overwrite/popper/index.scss +9 -0
  47. package/es/ele-app/style/overwrite/radio/css-var.scss +8 -0
  48. package/es/ele-app/style/overwrite/radio/index.js +1 -0
  49. package/es/ele-app/style/overwrite/radio/index.scss +126 -0
  50. package/es/ele-app/style/overwrite/select/css-var.scss +8 -0
  51. package/es/ele-app/style/overwrite/select/index.js +1 -0
  52. package/es/ele-app/style/overwrite/select/index.scss +111 -0
  53. package/es/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  54. package/es/ele-app/style/overwrite/table-filter/index.js +1 -0
  55. package/es/ele-app/style/overwrite/table-filter/index.scss +98 -0
  56. package/es/ele-app/style/overwrite/tag/css-var.scss +24 -0
  57. package/es/ele-app/style/overwrite/tag/index.js +1 -0
  58. package/es/ele-app/style/overwrite/tag/index.scss +303 -0
  59. package/es/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  60. package/es/ele-app/style/overwrite/tree-select/index.js +1 -0
  61. package/es/ele-app/style/overwrite/tree-select/index.scss +138 -0
  62. package/es/ele-app/style/scrollbar/css-var.scss +53 -0
  63. package/es/ele-app/style/scrollbar/index.js +1 -0
  64. package/es/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  65. package/es/ele-app/types/components.d.ts +29 -10
  66. package/es/ele-app/types/core.d.ts +30 -0
  67. package/es/ele-app/types/element.d.ts +61 -0
  68. package/es/ele-app/types/index.d.ts +3 -88
  69. package/es/ele-avatar-group/index.d.ts +5 -5
  70. package/es/ele-avatar-group/props.d.ts +2 -2
  71. package/es/ele-basic-select/index.d.ts +51 -27
  72. package/es/ele-basic-select/index.js +151 -74
  73. package/es/ele-basic-select/props.d.ts +37 -29
  74. package/es/ele-basic-select/props.js +39 -29
  75. package/es/ele-basic-select/style/index.scss +123 -47
  76. package/es/ele-basic-select/types/index.d.ts +4 -0
  77. package/es/ele-basic-select/util.d.ts +14 -0
  78. package/es/ele-basic-select/util.js +30 -0
  79. package/es/ele-breadcrumb/index.d.ts +4 -4
  80. package/es/ele-breadcrumb/props.d.ts +2 -2
  81. package/es/ele-card/index.d.ts +7 -3
  82. package/es/ele-card/index.js +14 -0
  83. package/es/ele-card/props.d.ts +5 -1
  84. package/es/ele-card/props.js +4 -0
  85. package/es/ele-card/style/index.scss +11 -0
  86. package/es/ele-check-card/components/card-item.d.ts +1 -1
  87. package/es/ele-check-card/index.d.ts +11 -4
  88. package/es/ele-check-card/props.d.ts +4 -1
  89. package/es/ele-check-card/props.js +6 -1
  90. package/es/ele-config-provider/index.d.ts +2 -2
  91. package/es/ele-config-provider/props.d.ts +1 -1
  92. package/es/ele-config-provider/types/index.d.ts +2 -2
  93. package/es/ele-copyable/index.d.ts +5 -3
  94. package/es/ele-cropper/index.d.ts +10 -8
  95. package/es/ele-cropper-modal/index.d.ts +7 -7
  96. package/es/ele-cropper-modal/props.d.ts +5 -2
  97. package/es/ele-data-table/index.d.ts +23 -9
  98. package/es/ele-data-table/index.js +265 -73
  99. package/es/ele-data-table/props.d.ts +13 -3
  100. package/es/ele-data-table/props.js +12 -2
  101. package/es/ele-data-table/types/index.d.ts +46 -28
  102. package/es/ele-data-table/util.d.ts +54 -26
  103. package/es/ele-data-table/util.js +99 -61
  104. package/es/ele-drawer/index.d.ts +53 -50
  105. package/es/ele-drawer/props.d.ts +19 -18
  106. package/es/ele-dropdown/index.d.ts +46 -46
  107. package/es/ele-dropdown/props.d.ts +16 -16
  108. package/es/ele-edit-tag/index.d.ts +12 -17
  109. package/es/ele-edit-tag/index.js +32 -26
  110. package/es/ele-edit-tag/props.d.ts +3 -5
  111. package/es/ele-edit-tag/props.js +0 -2
  112. package/es/ele-edit-tag/style/index.scss +65 -39
  113. package/es/ele-ellipsis/index.d.ts +2 -3
  114. package/es/ele-ellipsis/index.js +24 -3
  115. package/es/ele-ellipsis/types/index.d.ts +1 -1
  116. package/es/ele-file-list/components/file-grid-item.d.ts +1 -1
  117. package/es/ele-file-list/components/file-grid.d.ts +3 -3
  118. package/es/ele-file-list/components/file-table-item.d.ts +1 -1
  119. package/es/ele-file-list/components/file-table.d.ts +3 -3
  120. package/es/ele-file-list/index.d.ts +6 -6
  121. package/es/ele-file-list/props.d.ts +1 -1
  122. package/es/ele-icon-select/index.d.ts +53 -51
  123. package/es/ele-icon-select/index.js +222 -64
  124. package/es/ele-icon-select/props.d.ts +26 -33
  125. package/es/ele-icon-select/props.js +24 -31
  126. package/es/ele-icon-select/style/index.js +0 -1
  127. package/es/ele-icon-select/style/index.scss +0 -12
  128. package/es/ele-map-picker/components/map-view.d.ts +6 -6
  129. package/es/ele-map-picker/components/map-view.js +2 -1
  130. package/es/ele-map-picker/index.d.ts +6 -6
  131. package/es/ele-map-picker/props.d.ts +2 -3
  132. package/es/ele-menus/index.d.ts +28 -19
  133. package/es/ele-menus/props.d.ts +10 -7
  134. package/es/ele-modal/index.d.ts +50 -44
  135. package/es/ele-modal/index.js +41 -19
  136. package/es/ele-modal/props.d.ts +16 -15
  137. package/es/ele-modal/util.d.ts +3 -1
  138. package/es/ele-modal/util.js +6 -4
  139. package/es/ele-pagination/index.d.ts +22 -22
  140. package/es/ele-pagination/index.js +2 -1
  141. package/es/ele-pagination/props.d.ts +9 -9
  142. package/es/ele-popconfirm/index.d.ts +68 -123
  143. package/es/ele-popconfirm/props.d.ts +24 -46
  144. package/es/ele-popover/index.d.ts +52 -106
  145. package/es/ele-popover/props.d.ts +20 -42
  146. package/es/ele-pro-layout/components/pro-header.d.ts +6 -6
  147. package/es/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  148. package/es/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  149. package/es/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  150. package/es/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  151. package/es/ele-pro-layout/index.d.ts +35 -35
  152. package/es/ele-pro-layout/props.d.ts +4 -4
  153. package/es/ele-pro-layout/types/index.d.ts +5 -6
  154. package/es/ele-pro-layout/util.d.ts +1 -2
  155. package/es/ele-pro-table/components/table-tools.d.ts +3 -3
  156. package/es/ele-pro-table/components/table-tools.js +5 -8
  157. package/es/ele-pro-table/components/tool-column.d.ts +2 -2
  158. package/es/ele-pro-table/index.d.ts +33 -35
  159. package/es/ele-pro-table/index.js +123 -82
  160. package/es/ele-pro-table/props.d.ts +12 -15
  161. package/es/ele-pro-table/props.js +1 -1
  162. package/es/ele-pro-table/types/index.d.ts +5 -14
  163. package/es/ele-pro-table/util.d.ts +5 -11
  164. package/es/ele-pro-table/util.js +4 -5
  165. package/es/ele-segmented/index.d.ts +1 -1
  166. package/es/ele-split-panel/index.d.ts +1 -0
  167. package/es/ele-split-panel/index.js +34 -4
  168. package/es/ele-steps/index.d.ts +24 -24
  169. package/es/ele-steps/props.d.ts +7 -7
  170. package/es/ele-table-select/index.d.ts +83 -86
  171. package/es/ele-table-select/index.js +265 -236
  172. package/es/ele-table-select/props.d.ts +43 -37
  173. package/es/ele-table-select/props.js +41 -32
  174. package/es/ele-tabs/components/tab-title.d.ts +2 -2
  175. package/es/ele-tabs/index.d.ts +28 -29
  176. package/es/ele-tabs/index.js +12 -4
  177. package/es/ele-tabs/props.d.ts +10 -10
  178. package/es/ele-text/index.d.ts +2 -2
  179. package/es/ele-tool/index.d.ts +3 -3
  180. package/es/ele-tool/props.d.ts +1 -1
  181. package/es/ele-tooltip/index.d.ts +49 -102
  182. package/es/ele-tooltip/props.d.ts +19 -41
  183. package/es/ele-tour/index.d.ts +2 -2
  184. package/es/ele-tour/types/index.d.ts +1 -1
  185. package/es/ele-tour/util.d.ts +1 -1
  186. package/es/ele-tree-select/index.d.ts +144 -0
  187. package/es/ele-tree-select/index.js +412 -0
  188. package/es/ele-tree-select/props.d.ts +92 -0
  189. package/es/ele-tree-select/props.js +87 -0
  190. package/es/ele-tree-select/style/css-var.scss +8 -0
  191. package/es/ele-tree-select/style/index.js +3 -0
  192. package/es/ele-tree-select/style/index.scss +100 -0
  193. package/es/ele-tree-select/types/index.d.ts +17 -0
  194. package/es/ele-tree-select/util.d.ts +48 -0
  195. package/es/ele-tree-select/util.js +128 -0
  196. package/es/ele-upload-list/index.d.ts +1 -1
  197. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  198. package/es/ele-virtual-table/components/body-row.d.ts +3 -3
  199. package/es/ele-virtual-table/components/body-row.js +3 -3
  200. package/es/ele-virtual-table/components/cell-filter.d.ts +1 -1
  201. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  202. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  203. package/es/ele-virtual-table/index.d.ts +386 -0
  204. package/es/ele-virtual-table/index.js +294 -142
  205. package/es/ele-virtual-table/props.d.ts +6 -1
  206. package/es/ele-virtual-table/style/index.scss +1 -1
  207. package/es/ele-virtual-table/types/index.d.ts +13 -5
  208. package/es/ele-virtual-table/util.d.ts +16 -14
  209. package/es/ele-virtual-table/util.js +28 -46
  210. package/es/ele-watermark/index.d.ts +0 -1
  211. package/es/ele-watermark/index.js +14 -14
  212. package/es/ele-watermark/util.d.ts +6 -0
  213. package/es/ele-watermark/util.js +8 -0
  214. package/es/style/index.scss +1 -0
  215. package/es/style/themes/dark.scss +3 -0
  216. package/es/style/themes/default.scss +143 -3
  217. package/es/style/themes/rounded.scss +28 -0
  218. package/es/style/themes/theme-util.scss +3 -3
  219. package/es/utils/core.d.ts +8 -1
  220. package/es/utils/core.js +15 -0
  221. package/lib/components.d.ts +1 -0
  222. package/lib/components.js +10 -8
  223. package/lib/ele-alert/index.d.ts +4 -4
  224. package/lib/ele-alert/props.d.ts +2 -2
  225. package/lib/ele-app/index.d.ts +1 -1
  226. package/lib/ele-app/style/common/index.js +2 -0
  227. package/lib/ele-app/style/css-var.scss +9 -137
  228. package/lib/ele-app/style/index.js +4 -6
  229. package/lib/ele-app/style/index.scss +4 -4
  230. package/lib/ele-app/style/message/css-var.scss +12 -0
  231. package/lib/ele-app/style/{message.js → message/index.js} +1 -1
  232. package/{es/ele-app/style/message.scss → lib/ele-app/style/message/index.scss} +2 -2
  233. package/lib/ele-app/style/overwrite/autocomplete/css-var.scss +8 -0
  234. package/lib/ele-app/style/overwrite/autocomplete/index.js +2 -0
  235. package/lib/ele-app/style/overwrite/autocomplete/index.scss +33 -0
  236. package/lib/ele-app/style/overwrite/backtop/index.js +2 -0
  237. package/lib/ele-app/style/overwrite/backtop/index.scss +8 -0
  238. package/lib/ele-app/style/overwrite/cascader/css-var.scss +8 -0
  239. package/lib/ele-app/style/overwrite/cascader/index.js +2 -0
  240. package/lib/ele-app/style/overwrite/cascader/index.scss +115 -0
  241. package/lib/ele-app/style/overwrite/checkbox/css-var.scss +8 -0
  242. package/lib/ele-app/style/overwrite/checkbox/index.js +2 -0
  243. package/lib/ele-app/style/overwrite/checkbox/index.scss +159 -0
  244. package/lib/ele-app/style/overwrite/color-picker/index.js +2 -0
  245. package/lib/ele-app/style/overwrite/color-picker/index.scss +42 -0
  246. package/lib/ele-app/style/overwrite/css-var.scss +33 -0
  247. package/lib/ele-app/style/overwrite/date-picker/css-var.scss +16 -0
  248. package/lib/ele-app/style/overwrite/date-picker/index.js +2 -0
  249. package/lib/ele-app/style/overwrite/date-picker/index.scss +866 -0
  250. package/lib/ele-app/style/overwrite/descriptions/css-var.scss +8 -0
  251. package/lib/ele-app/style/overwrite/descriptions/index.js +2 -0
  252. package/lib/ele-app/style/overwrite/descriptions/index.scss +48 -0
  253. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +8 -0
  254. package/lib/ele-app/style/overwrite/image-viewer/index.js +2 -0
  255. package/lib/ele-app/style/overwrite/image-viewer/index.scss +10 -0
  256. package/lib/ele-app/style/overwrite/index.js +17 -0
  257. package/lib/ele-app/style/overwrite/index.scss +16 -0
  258. package/lib/ele-app/style/overwrite/message-box/css-var.scss +8 -0
  259. package/lib/ele-app/style/overwrite/message-box/index.js +3 -0
  260. package/lib/ele-app/style/overwrite/message-box/index.scss +84 -0
  261. package/lib/ele-app/style/overwrite/notification/css-var.scss +8 -0
  262. package/lib/ele-app/style/overwrite/notification/index.js +3 -0
  263. package/lib/ele-app/style/overwrite/notification/index.scss +65 -0
  264. package/lib/ele-app/style/overwrite/popper/css-var.scss +14 -0
  265. package/lib/ele-app/style/overwrite/popper/index.js +2 -0
  266. package/lib/ele-app/style/overwrite/popper/index.scss +9 -0
  267. package/lib/ele-app/style/overwrite/radio/css-var.scss +8 -0
  268. package/lib/ele-app/style/overwrite/radio/index.js +2 -0
  269. package/lib/ele-app/style/overwrite/radio/index.scss +126 -0
  270. package/lib/ele-app/style/overwrite/select/css-var.scss +8 -0
  271. package/lib/ele-app/style/overwrite/select/index.js +2 -0
  272. package/lib/ele-app/style/overwrite/select/index.scss +111 -0
  273. package/lib/ele-app/style/overwrite/table-filter/css-var.scss +8 -0
  274. package/lib/ele-app/style/overwrite/table-filter/index.js +2 -0
  275. package/lib/ele-app/style/overwrite/table-filter/index.scss +98 -0
  276. package/lib/ele-app/style/overwrite/tag/css-var.scss +24 -0
  277. package/lib/ele-app/style/overwrite/tag/index.js +2 -0
  278. package/lib/ele-app/style/overwrite/tag/index.scss +303 -0
  279. package/lib/ele-app/style/overwrite/tree-select/css-var.scss +8 -0
  280. package/lib/ele-app/style/overwrite/tree-select/index.js +2 -0
  281. package/lib/ele-app/style/overwrite/tree-select/index.scss +138 -0
  282. package/lib/ele-app/style/scrollbar/css-var.scss +53 -0
  283. package/lib/ele-app/style/scrollbar/index.js +2 -0
  284. package/lib/ele-app/style/{scrollbar.scss → scrollbar/index.scss} +2 -2
  285. package/lib/ele-app/types/components.d.ts +29 -10
  286. package/lib/ele-app/types/core.d.ts +30 -0
  287. package/lib/ele-app/types/element.d.ts +61 -0
  288. package/lib/ele-app/types/index.d.ts +3 -88
  289. package/lib/ele-avatar-group/index.d.ts +5 -5
  290. package/lib/ele-avatar-group/props.d.ts +2 -2
  291. package/lib/ele-basic-select/index.d.ts +51 -27
  292. package/lib/ele-basic-select/index.js +150 -73
  293. package/lib/ele-basic-select/props.d.ts +37 -29
  294. package/lib/ele-basic-select/props.js +39 -29
  295. package/lib/ele-basic-select/style/index.scss +123 -47
  296. package/lib/ele-basic-select/types/index.d.ts +4 -0
  297. package/lib/ele-basic-select/util.d.ts +14 -0
  298. package/lib/ele-basic-select/util.js +30 -0
  299. package/lib/ele-breadcrumb/index.d.ts +4 -4
  300. package/lib/ele-breadcrumb/props.d.ts +2 -2
  301. package/lib/ele-card/index.d.ts +7 -3
  302. package/lib/ele-card/index.js +14 -0
  303. package/lib/ele-card/props.d.ts +5 -1
  304. package/lib/ele-card/props.js +4 -0
  305. package/lib/ele-card/style/index.scss +11 -0
  306. package/lib/ele-check-card/components/card-item.d.ts +1 -1
  307. package/lib/ele-check-card/index.d.ts +11 -4
  308. package/lib/ele-check-card/props.d.ts +4 -1
  309. package/lib/ele-check-card/props.js +6 -1
  310. package/lib/ele-config-provider/index.d.ts +2 -2
  311. package/lib/ele-config-provider/props.d.ts +1 -1
  312. package/lib/ele-config-provider/types/index.d.ts +2 -2
  313. package/lib/ele-copyable/index.d.ts +5 -3
  314. package/lib/ele-cropper/index.d.ts +10 -8
  315. package/lib/ele-cropper-modal/index.d.ts +7 -7
  316. package/lib/ele-cropper-modal/props.d.ts +5 -2
  317. package/lib/ele-data-table/index.d.ts +23 -9
  318. package/lib/ele-data-table/index.js +262 -70
  319. package/lib/ele-data-table/props.d.ts +13 -3
  320. package/lib/ele-data-table/props.js +12 -2
  321. package/lib/ele-data-table/types/index.d.ts +46 -28
  322. package/lib/ele-data-table/util.d.ts +54 -26
  323. package/lib/ele-data-table/util.js +98 -60
  324. package/lib/ele-drawer/index.d.ts +53 -50
  325. package/lib/ele-drawer/props.d.ts +19 -18
  326. package/lib/ele-dropdown/index.d.ts +46 -46
  327. package/lib/ele-dropdown/props.d.ts +16 -16
  328. package/lib/ele-edit-tag/index.d.ts +12 -17
  329. package/lib/ele-edit-tag/index.js +31 -25
  330. package/lib/ele-edit-tag/props.d.ts +3 -5
  331. package/lib/ele-edit-tag/props.js +0 -2
  332. package/lib/ele-edit-tag/style/index.scss +65 -39
  333. package/lib/ele-ellipsis/index.d.ts +2 -3
  334. package/lib/ele-ellipsis/index.js +23 -2
  335. package/lib/ele-ellipsis/types/index.d.ts +1 -1
  336. package/lib/ele-file-list/components/file-grid-item.d.ts +1 -1
  337. package/lib/ele-file-list/components/file-grid.d.ts +3 -3
  338. package/lib/ele-file-list/components/file-table-item.d.ts +1 -1
  339. package/lib/ele-file-list/components/file-table.d.ts +3 -3
  340. package/lib/ele-file-list/index.d.ts +6 -6
  341. package/lib/ele-file-list/props.d.ts +1 -1
  342. package/lib/ele-icon-select/index.d.ts +53 -51
  343. package/lib/ele-icon-select/index.js +221 -63
  344. package/lib/ele-icon-select/props.d.ts +26 -33
  345. package/lib/ele-icon-select/props.js +24 -31
  346. package/lib/ele-icon-select/style/index.js +0 -1
  347. package/lib/ele-icon-select/style/index.scss +0 -12
  348. package/lib/ele-map-picker/components/map-view.d.ts +6 -6
  349. package/lib/ele-map-picker/components/map-view.js +2 -1
  350. package/lib/ele-map-picker/index.d.ts +6 -6
  351. package/lib/ele-map-picker/props.d.ts +2 -3
  352. package/lib/ele-menus/index.d.ts +28 -19
  353. package/lib/ele-menus/props.d.ts +10 -7
  354. package/lib/ele-modal/index.d.ts +50 -44
  355. package/lib/ele-modal/index.js +41 -19
  356. package/lib/ele-modal/props.d.ts +16 -15
  357. package/lib/ele-modal/util.d.ts +3 -1
  358. package/lib/ele-modal/util.js +6 -4
  359. package/lib/ele-pagination/index.d.ts +22 -22
  360. package/lib/ele-pagination/index.js +2 -1
  361. package/lib/ele-pagination/props.d.ts +9 -9
  362. package/lib/ele-popconfirm/index.d.ts +68 -123
  363. package/lib/ele-popconfirm/props.d.ts +24 -46
  364. package/lib/ele-popover/index.d.ts +52 -106
  365. package/lib/ele-popover/props.d.ts +20 -42
  366. package/lib/ele-pro-layout/components/pro-header.d.ts +6 -6
  367. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +4 -4
  368. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +4 -4
  369. package/lib/ele-pro-layout/components/pro-tabs.d.ts +3 -3
  370. package/lib/ele-pro-layout/components/tab-dropdown.d.ts +1 -1
  371. package/lib/ele-pro-layout/index.d.ts +35 -35
  372. package/lib/ele-pro-layout/props.d.ts +4 -4
  373. package/lib/ele-pro-layout/types/index.d.ts +5 -6
  374. package/lib/ele-pro-layout/util.d.ts +1 -2
  375. package/lib/ele-pro-table/components/table-tools.d.ts +3 -3
  376. package/lib/ele-pro-table/components/table-tools.js +4 -7
  377. package/lib/ele-pro-table/components/tool-column.d.ts +2 -2
  378. package/lib/ele-pro-table/index.d.ts +33 -35
  379. package/lib/ele-pro-table/index.js +119 -78
  380. package/lib/ele-pro-table/props.d.ts +12 -15
  381. package/lib/ele-pro-table/props.js +1 -1
  382. package/lib/ele-pro-table/types/index.d.ts +5 -14
  383. package/lib/ele-pro-table/util.d.ts +5 -11
  384. package/lib/ele-pro-table/util.js +4 -5
  385. package/lib/ele-segmented/index.d.ts +1 -1
  386. package/lib/ele-split-panel/index.d.ts +1 -0
  387. package/lib/ele-split-panel/index.js +34 -4
  388. package/lib/ele-steps/index.d.ts +24 -24
  389. package/lib/ele-steps/props.d.ts +7 -7
  390. package/lib/ele-table-select/index.d.ts +83 -86
  391. package/lib/ele-table-select/index.js +264 -235
  392. package/lib/ele-table-select/props.d.ts +43 -37
  393. package/lib/ele-table-select/props.js +41 -32
  394. package/lib/ele-tabs/components/tab-title.d.ts +2 -2
  395. package/lib/ele-tabs/index.d.ts +28 -29
  396. package/lib/ele-tabs/index.js +11 -3
  397. package/lib/ele-tabs/props.d.ts +10 -10
  398. package/lib/ele-text/index.d.ts +2 -2
  399. package/lib/ele-tool/index.d.ts +3 -3
  400. package/lib/ele-tool/props.d.ts +1 -1
  401. package/lib/ele-tooltip/index.d.ts +49 -102
  402. package/lib/ele-tooltip/props.d.ts +19 -41
  403. package/lib/ele-tour/index.d.ts +2 -2
  404. package/lib/ele-tour/types/index.d.ts +1 -1
  405. package/lib/ele-tour/util.d.ts +1 -1
  406. package/lib/ele-tree-select/index.d.ts +144 -0
  407. package/lib/ele-tree-select/index.js +411 -0
  408. package/lib/ele-tree-select/props.d.ts +92 -0
  409. package/lib/ele-tree-select/props.js +87 -0
  410. package/lib/ele-tree-select/style/css-var.scss +8 -0
  411. package/lib/ele-tree-select/style/index.js +4 -0
  412. package/lib/ele-tree-select/style/index.scss +100 -0
  413. package/lib/ele-tree-select/types/index.d.ts +17 -0
  414. package/lib/ele-tree-select/util.d.ts +48 -0
  415. package/lib/ele-tree-select/util.js +128 -0
  416. package/lib/ele-upload-list/index.d.ts +1 -1
  417. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  418. package/lib/ele-virtual-table/components/body-row.d.ts +3 -3
  419. package/lib/ele-virtual-table/components/body-row.js +3 -3
  420. package/lib/ele-virtual-table/components/cell-filter.d.ts +1 -1
  421. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  422. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  423. package/lib/ele-virtual-table/index.d.ts +386 -0
  424. package/lib/ele-virtual-table/index.js +291 -139
  425. package/lib/ele-virtual-table/props.d.ts +6 -1
  426. package/lib/ele-virtual-table/style/index.scss +1 -1
  427. package/lib/ele-virtual-table/types/index.d.ts +13 -5
  428. package/lib/ele-virtual-table/util.d.ts +16 -14
  429. package/lib/ele-virtual-table/util.js +26 -44
  430. package/lib/ele-watermark/index.d.ts +0 -1
  431. package/lib/ele-watermark/index.js +13 -13
  432. package/lib/ele-watermark/util.d.ts +6 -0
  433. package/lib/ele-watermark/util.js +8 -0
  434. package/lib/style/index.scss +1 -0
  435. package/lib/style/themes/dark.scss +3 -0
  436. package/lib/style/themes/default.scss +143 -3
  437. package/lib/style/themes/rounded.scss +28 -0
  438. package/lib/style/themes/theme-util.scss +3 -3
  439. package/lib/utils/core.d.ts +8 -1
  440. package/lib/utils/core.js +15 -0
  441. package/package.json +63 -57
  442. package/typings/global.d.ts +1 -0
  443. package/es/ele-app/style/common.js +0 -1
  444. package/es/ele-app/style/overwrite.js +0 -1
  445. package/es/ele-app/style/overwrite.scss +0 -1728
  446. package/es/ele-app/style/scrollbar.js +0 -1
  447. package/es/ele-basic-select/components/select-tag.d.ts +0 -32
  448. package/es/ele-basic-select/components/select-tag.js +0 -65
  449. package/es/ele-icon-select/components/icon-popper.d.ts +0 -93
  450. package/es/ele-icon-select/components/icon-popper.js +0 -253
  451. package/es/ele-table-select/types/index.d.ts +0 -12
  452. package/lib/ele-app/style/common.js +0 -2
  453. package/lib/ele-app/style/overwrite.js +0 -2
  454. package/lib/ele-app/style/overwrite.scss +0 -1728
  455. package/lib/ele-app/style/scrollbar.js +0 -2
  456. package/lib/ele-basic-select/components/select-tag.d.ts +0 -32
  457. package/lib/ele-basic-select/components/select-tag.js +0 -64
  458. package/lib/ele-icon-select/components/icon-popper.d.ts +0 -93
  459. package/lib/ele-icon-select/components/icon-popper.js +0 -252
  460. package/lib/ele-table-select/types/index.d.ts +0 -12
  461. /package/es/ele-app/style/{common.scss → common/index.scss} +0 -0
  462. /package/lib/ele-app/style/{common.scss → common/index.scss} +0 -0
@@ -27,11 +27,12 @@ declare const _default: import("vue").DefineComponent<{
27
27
  };
28
28
  toBlob: BooleanConstructor;
29
29
  options: import("vue").PropType<CropperOptions>;
30
- croppedOptions: import("vue").PropType<import("./types").CroppedOptions>;
30
+ /** 是否开启布局响应 */
31
+ croppedOptions: import("vue").PropType<import("./types").CroppedOptions>; /** 图片节点 */
31
32
  tooltip: {
32
33
  type: BooleanConstructor;
33
34
  default: boolean;
34
- };
35
+ }; /** 预览组件 */
35
36
  tooltipProps: import("vue").PropType<Partial<import("../ele-tooltip/props").TooltipProps>>;
36
37
  responsive: {
37
38
  type: BooleanConstructor;
@@ -85,11 +86,12 @@ declare const _default: import("vue").DefineComponent<{
85
86
  };
86
87
  toBlob: BooleanConstructor;
87
88
  options: import("vue").PropType<CropperOptions>;
88
- croppedOptions: import("vue").PropType<import("./types").CroppedOptions>;
89
+ /** 是否开启布局响应 */
90
+ croppedOptions: import("vue").PropType<import("./types").CroppedOptions>; /** 图片节点 */
89
91
  tooltip: {
90
92
  type: BooleanConstructor;
91
93
  default: boolean;
92
- };
94
+ }; /** 预览组件 */
93
95
  tooltipProps: import("vue").PropType<Partial<import("../ele-tooltip/props").TooltipProps>>;
94
96
  responsive: {
95
97
  type: BooleanConstructor;
@@ -100,12 +102,12 @@ declare const _default: import("vue").DefineComponent<{
100
102
  onDone?: ((_result?: string | Blob | null | undefined) => any) | undefined;
101
103
  }, {
102
104
  tooltip: boolean;
103
- tools: string;
104
- responsive: boolean;
105
- previewWidth: number;
106
- accept: string;
107
105
  preview: boolean;
106
+ responsive: boolean;
108
107
  imageType: string;
108
+ accept: string;
109
+ tools: string;
110
+ previewWidth: number;
109
111
  toBlob: boolean;
110
112
  }, {}>;
111
113
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import type { CropperLocale } from '../ele-cropper/types';
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  modelValue: BooleanConstructor;
4
- modalProps: import("vue").PropType<Partial<Omit<import("../ele-modal/props").ModalProps, "modelValue">>>;
4
+ modalProps: import("vue").PropType<Partial<Omit<import("../ele-app/types").EleModalProps, "modelValue">>>;
5
5
  height: StringConstructor;
6
6
  src: StringConstructor;
7
7
  imageType: {
@@ -43,10 +43,10 @@ declare const _default: import("vue").DefineComponent<{
43
43
  onDone: (result: Blob | string | null) => void;
44
44
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
45
45
  done: (_result: string | Blob | null) => boolean;
46
- 'update:modelValue': (_value: boolean) => boolean;
46
+ 'update:modelValue': (_value: boolean) => boolean; /** 更新绑定值 */
47
47
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
48
48
  modelValue: BooleanConstructor;
49
- modalProps: import("vue").PropType<Partial<Omit<import("../ele-modal/props").ModalProps, "modelValue">>>;
49
+ modalProps: import("vue").PropType<Partial<Omit<import("../ele-app/types").EleModalProps, "modelValue">>>;
50
50
  height: StringConstructor;
51
51
  src: StringConstructor;
52
52
  imageType: {
@@ -88,12 +88,12 @@ declare const _default: import("vue").DefineComponent<{
88
88
  }, {
89
89
  modelValue: boolean;
90
90
  tooltip: boolean;
91
- tools: string;
92
- responsive: boolean;
93
- previewWidth: number;
94
- accept: string;
95
91
  preview: boolean;
92
+ responsive: boolean;
96
93
  imageType: string;
94
+ accept: string;
95
+ tools: string;
96
+ previewWidth: number;
97
97
  toBlob: boolean;
98
98
  }, {}>;
99
99
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import type { PropType, ExtractPropTypes } from 'vue';
2
- import type { ModalProps } from '../ele-modal/props';
2
+ import type { EleModalProps } from '../ele-app/types';
3
3
  /**
4
4
  * 属性
5
5
  */
@@ -7,7 +7,7 @@ export declare const cropperModalProps: {
7
7
  /** 弹窗是否显示 */
8
8
  modelValue: BooleanConstructor;
9
9
  /** 弹窗参数 */
10
- modalProps: PropType<Partial<Omit<ModalProps, "modelValue">>>;
10
+ modalProps: PropType<Partial<Omit<EleModalProps, "modelValue">>>;
11
11
  height: StringConstructor;
12
12
  src: StringConstructor;
13
13
  imageType: {
@@ -16,6 +16,9 @@ export declare const cropperModalProps: {
16
16
  };
17
17
  accept: {
18
18
  type: StringConstructor;
19
+ /**
20
+ * 事件
21
+ */
19
22
  default: string;
20
23
  };
21
24
  tools: {
@@ -1,5 +1,5 @@
1
1
  import type { ElTableInstance } from '../ele-app/types';
2
- import type { DataItem, Column, Columns, Sorter, Filter } from './types';
2
+ import type { DataKey, DataItem, Column, Columns, Sorter, Filter } from './types';
3
3
  declare const _default: import("vue").DefineComponent<{
4
4
  stripe: {
5
5
  type: BooleanConstructor;
@@ -33,8 +33,11 @@ declare const _default: import("vue").DefineComponent<{
33
33
  default: () => null;
34
34
  };
35
35
  rowClickChecked: import("vue").PropType<import("./types").RowClickChecked>;
36
+ reserveCurrent: BooleanConstructor;
37
+ selectedRowKeys: import("vue").PropType<DataKey[]>;
38
+ cacheData: import("vue").PropType<DataItem[]>;
36
39
  size: {
37
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
40
+ readonly type: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
38
41
  readonly required: false;
39
42
  readonly validator: ((val: unknown) => boolean) | undefined;
40
43
  __epPropKey: true;
@@ -119,17 +122,20 @@ declare const _default: import("vue").DefineComponent<{
119
122
  flexible: BooleanConstructor;
120
123
  }, {
121
124
  clearSort: () => void;
125
+ clearSelection: () => void;
126
+ toggleRowSelection: (row: DataItem, selected?: boolean) => void;
127
+ setCurrentRow: (row?: DataItem | null) => void;
128
+ setCurrentRowKey: (key?: DataKey | null) => void;
129
+ getCurrentRow: () => DataItem | undefined;
122
130
  setSelectedRows: (rows?: DataItem[]) => void;
123
- setSelectedRowKeys: (keys?: string[] | number[]) => void;
131
+ setSelectedRowKeys: (keys?: DataKey[]) => void;
124
132
  toggleRowExpansionAll: (expanded?: boolean) => void;
133
+ updateSelectedAndChecked: () => void;
125
134
  tableRef: import("vue").Ref<ElTableInstance>;
126
- clearSelection: () => void;
127
135
  getSelectionRows: () => DataItem[] | undefined;
128
- toggleRowSelection: (row: DataItem, selected?: boolean | undefined) => void;
129
136
  toggleAllSelection: () => void;
130
137
  toggleRowExpansion: (row: DataItem, expanded?: boolean | undefined) => void;
131
- setCurrentRow: (row?: DataItem | null | undefined) => void;
132
- clearFilter: (columnKeys?: string[] | undefined) => void;
138
+ clearFilter: (columnKeys?: string[] | undefined) => void; /** 设置单选选中值 */
133
139
  doLayout: () => void;
134
140
  sort: (prop: string, order: string) => void;
135
141
  scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void;
@@ -153,7 +159,9 @@ declare const _default: import("vue").DefineComponent<{
153
159
  filterChange: (_filter: Filter) => boolean;
154
160
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
155
161
  headerDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => boolean;
156
- expandChange: (_row: DataItem, _expanded: boolean) => boolean; /** 切换所有行的展开状态 */
162
+ expandChange: (_row: DataItem, _expanded: boolean) => boolean;
163
+ 'update:currentRowKey': (_currentRowKey?: DataKey | undefined) => boolean;
164
+ 'update:selectedRowKeys': (_selectedRowKeys?: DataKey[] | undefined) => boolean;
157
165
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
158
166
  stripe: {
159
167
  type: BooleanConstructor;
@@ -187,8 +195,11 @@ declare const _default: import("vue").DefineComponent<{
187
195
  default: () => null;
188
196
  };
189
197
  rowClickChecked: import("vue").PropType<import("./types").RowClickChecked>;
198
+ reserveCurrent: BooleanConstructor;
199
+ selectedRowKeys: import("vue").PropType<DataKey[]>;
200
+ cacheData: import("vue").PropType<DataItem[]>;
190
201
  size: {
191
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
202
+ readonly type: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
192
203
  readonly required: false;
193
204
  readonly validator: ((val: unknown) => boolean) | undefined;
194
205
  __epPropKey: true;
@@ -290,6 +301,8 @@ declare const _default: import("vue").DefineComponent<{
290
301
  onCurrentChange?: ((_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => any) | undefined;
291
302
  onHeaderDragend?: ((_width: number, _old: number, _column: Column, _e: MouseEvent) => any) | undefined;
292
303
  onExpandChange?: ((_row: DataItem, _expanded: boolean) => any) | undefined;
304
+ "onUpdate:currentRowKey"?: ((_currentRowKey?: DataKey | undefined) => any) | undefined;
305
+ "onUpdate:selectedRowKeys"?: ((_selectedRowKeys?: DataKey[] | undefined) => any) | undefined;
293
306
  }, {
294
307
  fit: boolean;
295
308
  className: string;
@@ -315,5 +328,6 @@ declare const _default: import("vue").DefineComponent<{
315
328
  sticky: boolean;
316
329
  bottomLine: boolean;
317
330
  emptyProps: import("./types").TableEmptyProps;
331
+ reserveCurrent: boolean;
318
332
  }, {}>;
319
333
  export default _default;
@@ -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
- 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;
@@ -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(