@hi-ui/table 4.0.0-beta.9 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/README.md +48 -45
  2. package/lib/cjs/BaseTable.js +29 -25
  3. package/lib/cjs/Table.js +44 -27
  4. package/lib/cjs/TableAdvancedFilter.js +38 -24
  5. package/lib/cjs/TableBody.js +12 -13
  6. package/lib/cjs/TableCell.js +10 -11
  7. package/lib/cjs/TableColumnMenu.js +27 -23
  8. package/lib/cjs/TableEmbedRow.js +4 -5
  9. package/lib/cjs/TableHeader.js +21 -13
  10. package/lib/cjs/TableRow.js +18 -18
  11. package/lib/cjs/TableSettingMenu.js +34 -42
  12. package/lib/cjs/context.js +1 -2
  13. package/lib/cjs/hooks/use-async-switch.js +5 -6
  14. package/lib/cjs/hooks/use-check.js +39 -17
  15. package/lib/cjs/hooks/use-col-hidden.js +1 -2
  16. package/lib/cjs/hooks/use-col-sorter.js +43 -18
  17. package/lib/cjs/hooks/use-col-width.js +7 -8
  18. package/lib/cjs/hooks/use-colgroup.js +10 -5
  19. package/lib/cjs/hooks/use-drag.js +8 -9
  20. package/lib/cjs/hooks/use-embed-expand.js +4 -5
  21. package/lib/cjs/hooks/use-expand.js +2 -5
  22. package/lib/cjs/hooks/use-pagination.js +4 -5
  23. package/lib/cjs/hooks/use-queue.js +1 -2
  24. package/lib/cjs/icons/index.js +5 -6
  25. package/lib/cjs/index.js +1 -2
  26. package/lib/cjs/styles/index.scss.js +3 -4
  27. package/lib/cjs/use-table.js +38 -29
  28. package/lib/cjs/utils/index.js +10 -8
  29. package/lib/esm/BaseTable.js +11 -7
  30. package/lib/esm/Table.js +36 -19
  31. package/lib/esm/TableAdvancedFilter.js +28 -14
  32. package/lib/esm/TableBody.js +1 -2
  33. package/lib/esm/TableCell.js +2 -3
  34. package/lib/esm/TableColumnMenu.js +12 -8
  35. package/lib/esm/TableEmbedRow.js +1 -2
  36. package/lib/esm/TableHeader.js +11 -4
  37. package/lib/esm/TableRow.js +8 -8
  38. package/lib/esm/TableSettingMenu.js +17 -25
  39. package/lib/esm/context.js +1 -2
  40. package/lib/esm/hooks/use-async-switch.js +1 -2
  41. package/lib/esm/hooks/use-check.js +36 -14
  42. package/lib/esm/hooks/use-col-hidden.js +1 -2
  43. package/lib/esm/hooks/use-col-sorter.js +42 -19
  44. package/lib/esm/hooks/use-col-width.js +1 -2
  45. package/lib/esm/hooks/use-colgroup.js +7 -2
  46. package/lib/esm/hooks/use-drag.js +7 -8
  47. package/lib/esm/hooks/use-embed-expand.js +1 -2
  48. package/lib/esm/hooks/use-expand.js +2 -5
  49. package/lib/esm/hooks/use-pagination.js +1 -2
  50. package/lib/esm/hooks/use-queue.js +1 -2
  51. package/lib/esm/icons/index.js +1 -2
  52. package/lib/esm/index.js +1 -2
  53. package/lib/esm/styles/index.scss.js +4 -6
  54. package/lib/esm/use-table.js +31 -22
  55. package/lib/esm/utils/index.js +10 -8
  56. package/lib/types/BaseTable.d.ts +12 -4
  57. package/lib/types/Table.d.ts +9 -5
  58. package/lib/types/TableAdvancedFilter.d.ts +4 -2
  59. package/lib/types/TableColumnMenu.d.ts +2 -0
  60. package/lib/types/context.d.ts +9 -7
  61. package/lib/types/hooks/use-col-sorter.d.ts +6 -7
  62. package/lib/types/hooks/use-drag.d.ts +2 -1
  63. package/lib/types/types.d.ts +108 -24
  64. package/lib/types/use-table.d.ts +20 -5
  65. package/lib/types/utils/index.d.ts +1 -1
  66. package/package.json +36 -31
  67. package/lib/cjs/BaseTable.js.map +0 -1
  68. package/lib/cjs/Table.js.map +0 -1
  69. package/lib/cjs/TableAdvancedFilter.js.map +0 -1
  70. package/lib/cjs/TableBody.js.map +0 -1
  71. package/lib/cjs/TableCell.js.map +0 -1
  72. package/lib/cjs/TableColumnMenu.js.map +0 -1
  73. package/lib/cjs/TableEmbedRow.js.map +0 -1
  74. package/lib/cjs/TableHeader.js.map +0 -1
  75. package/lib/cjs/TableRow.js.map +0 -1
  76. package/lib/cjs/TableSettingMenu.js.map +0 -1
  77. package/lib/cjs/context.js.map +0 -1
  78. package/lib/cjs/hooks/use-async-switch.js.map +0 -1
  79. package/lib/cjs/hooks/use-check.js.map +0 -1
  80. package/lib/cjs/hooks/use-col-hidden.js.map +0 -1
  81. package/lib/cjs/hooks/use-col-sorter.js.map +0 -1
  82. package/lib/cjs/hooks/use-col-width.js.map +0 -1
  83. package/lib/cjs/hooks/use-colgroup.js.map +0 -1
  84. package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js +0 -287
  85. package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js.map +0 -1
  86. package/lib/cjs/hooks/use-drag.js.map +0 -1
  87. package/lib/cjs/hooks/use-embed-expand.js.map +0 -1
  88. package/lib/cjs/hooks/use-expand.js.map +0 -1
  89. package/lib/cjs/hooks/use-pagination.js.map +0 -1
  90. package/lib/cjs/hooks/use-queue.js.map +0 -1
  91. package/lib/cjs/icons/index.js.map +0 -1
  92. package/lib/cjs/index.js.map +0 -1
  93. package/lib/cjs/styles/index.scss.js.map +0 -1
  94. package/lib/cjs/use-table.js.map +0 -1
  95. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +0 -29
  96. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +0 -1
  97. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +0 -27
  98. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +0 -1
  99. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +0 -29
  100. package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +0 -1
  101. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +0 -29
  102. package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +0 -1
  103. package/lib/cjs/utils/func-utils/lib/esm/index.js +0 -62
  104. package/lib/cjs/utils/func-utils/lib/esm/index.js.map +0 -1
  105. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +0 -37
  106. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +0 -1
  107. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +0 -37
  108. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +0 -1
  109. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +0 -37
  110. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +0 -1
  111. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +0 -37
  112. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +0 -1
  113. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +0 -34
  114. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +0 -1
  115. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +0 -37
  116. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +0 -1
  117. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +0 -60
  118. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +0 -1
  119. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +0 -49
  120. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +0 -1
  121. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +0 -80
  122. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +0 -1
  123. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +0 -63
  124. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +0 -1
  125. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +0 -34
  126. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +0 -1
  127. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +0 -33
  128. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +0 -1
  129. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +0 -36
  130. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +0 -1
  131. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +0 -48
  132. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +0 -1
  133. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +0 -77
  134. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +0 -1
  135. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +0 -96
  136. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +0 -1
  137. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +0 -40
  138. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +0 -1
  139. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +0 -50
  140. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +0 -1
  141. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +0 -28
  142. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +0 -1
  143. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +0 -58
  144. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +0 -1
  145. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +0 -49
  146. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +0 -1
  147. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js +0 -39
  148. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +0 -1
  149. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +0 -55
  150. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +0 -1
  151. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +0 -61
  152. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +0 -1
  153. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +0 -67
  154. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +0 -1
  155. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +0 -69
  156. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +0 -1
  157. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +0 -72
  158. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +0 -1
  159. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +0 -69
  160. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +0 -1
  161. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +0 -45
  162. package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +0 -1
  163. package/lib/cjs/utils/index.js.map +0 -1
  164. package/lib/esm/BaseTable.js.map +0 -1
  165. package/lib/esm/Table.js.map +0 -1
  166. package/lib/esm/TableAdvancedFilter.js.map +0 -1
  167. package/lib/esm/TableBody.js.map +0 -1
  168. package/lib/esm/TableCell.js.map +0 -1
  169. package/lib/esm/TableColumnMenu.js.map +0 -1
  170. package/lib/esm/TableEmbedRow.js.map +0 -1
  171. package/lib/esm/TableHeader.js.map +0 -1
  172. package/lib/esm/TableRow.js.map +0 -1
  173. package/lib/esm/TableSettingMenu.js.map +0 -1
  174. package/lib/esm/context.js.map +0 -1
  175. package/lib/esm/hooks/use-async-switch.js.map +0 -1
  176. package/lib/esm/hooks/use-check.js.map +0 -1
  177. package/lib/esm/hooks/use-col-hidden.js.map +0 -1
  178. package/lib/esm/hooks/use-col-sorter.js.map +0 -1
  179. package/lib/esm/hooks/use-col-width.js.map +0 -1
  180. package/lib/esm/hooks/use-colgroup.js.map +0 -1
  181. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js +0 -264
  182. package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js.map +0 -1
  183. package/lib/esm/hooks/use-drag.js.map +0 -1
  184. package/lib/esm/hooks/use-embed-expand.js.map +0 -1
  185. package/lib/esm/hooks/use-expand.js.map +0 -1
  186. package/lib/esm/hooks/use-pagination.js.map +0 -1
  187. package/lib/esm/hooks/use-queue.js.map +0 -1
  188. package/lib/esm/icons/index.js.map +0 -1
  189. package/lib/esm/index.js.map +0 -1
  190. package/lib/esm/styles/index.scss.js.map +0 -1
  191. package/lib/esm/use-table.js.map +0 -1
  192. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +0 -24
  193. package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +0 -1
  194. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +0 -22
  195. package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +0 -1
  196. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +0 -24
  197. package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +0 -1
  198. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +0 -24
  199. package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +0 -1
  200. package/lib/esm/utils/func-utils/lib/esm/index.js +0 -45
  201. package/lib/esm/utils/func-utils/lib/esm/index.js.map +0 -1
  202. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +0 -29
  203. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +0 -1
  204. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +0 -29
  205. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +0 -1
  206. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +0 -29
  207. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +0 -1
  208. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +0 -29
  209. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +0 -1
  210. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +0 -27
  211. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +0 -1
  212. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +0 -29
  213. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +0 -1
  214. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +0 -51
  215. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +0 -1
  216. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +0 -41
  217. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +0 -1
  218. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +0 -70
  219. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +0 -1
  220. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +0 -59
  221. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +0 -1
  222. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +0 -27
  223. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +0 -1
  224. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +0 -30
  225. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +0 -1
  226. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +0 -17
  227. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +0 -1
  228. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +0 -40
  229. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +0 -1
  230. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +0 -70
  231. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +0 -1
  232. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +0 -87
  233. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +0 -1
  234. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +0 -35
  235. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +0 -1
  236. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +0 -43
  237. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +0 -1
  238. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +0 -25
  239. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +0 -1
  240. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +0 -54
  241. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +0 -1
  242. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +0 -44
  243. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +0 -1
  244. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js +0 -21
  245. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +0 -1
  246. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +0 -50
  247. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +0 -1
  248. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +0 -57
  249. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +0 -1
  250. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +0 -62
  251. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +0 -1
  252. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +0 -61
  253. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +0 -1
  254. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +0 -55
  255. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +0 -1
  256. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +0 -52
  257. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +0 -1
  258. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +0 -40
  259. package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +0 -1
  260. package/lib/esm/utils/index.js.map +0 -1
package/README.md CHANGED
@@ -15,40 +15,40 @@
15
15
 
16
16
  ## Props
17
17
 
18
- | 属性名 | 描述 | 类型 | 可选值 | 默认值 |
19
- | --------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------- | ---------- |
20
- | data | 表格数据 | object[] | - | - |
21
- | fieldKey | 指定 data 表格数据中某一属性为 key | string | - | 'key' |
22
- | columns | 表格列配置信息 | ColumnItem[] | - | - |
23
- | bordered | 是否显示边框(表头分组模式下,表格自带边框) | boolean | true \| false | false |
24
- | sticky | 是否支持表头吸顶 | boolean | true \| false | false |
25
- | stickyTop | 表头吸顶距离视口顶部距离 | number | - | 0 |
26
- | highlightedColKeys | 高亮列(受控) | string[] | - | [] |
27
- | expandedRender | 表格展开项 | (record: dataItem, index: number) => ReactNode \| Promise | - | - |
28
- | rowExpandable | 设置是否允许行展开 | (record: dataItem ) => ReactNode \| Boolean | - | true |
29
- | onExpand | 表格展开时的回调函数 | (expanded, row: object) => void | - | - |
30
- | expandedRowKeys | 内嵌式表格以及树形表格展开的行 | number[] | - | - |
31
- | maxHeight | 表格最大高度,当穿过该高度时,展示滚动条且表头固定 | number | - | - |
32
- | fixedToColumn | 表格列冻结设置,为 string 时仅支持从左侧冻结至某一列 | string \| FixedOption | columns 中对应的 dataKey | null |
33
- | size | 配置表格尺寸 | string | 'large' \| 'default' \| 'small' \| 'mini' | 'default' |
34
- | pagination | 表格分页配置项 | Pagination | - | null |
35
- | errorRowKeys | 错误列(受控) | string[] | - | [] |
36
- | highlightedRowKeys | 高亮行(受控) | string[] | - | [] |
37
- | rowSelection | 行可选(受控) | RowSelection | - | null |
38
- | dataSource | 异步数据源 | (current: number) => DataSource | - | null |
39
- | showColMenu | 是否支持列操作 | boolean | - | false |
40
- | striped | 是否展示为斑马纹效果 | boolean | - | false |
41
- | setting | 是否集成控制面板功能 | boolean | - | false |
42
- | emptyContent | 数据为空时的展示内容 | string \| () => ReactNode | - | '暂无数据' |
43
- | resizable | 是否能够动态控制列宽 | boolean | true \| false | false |
44
- | standard | 标准模式,默认集成 `showColMenu = true, sticky = true, bordered = true, setting = true, striped = true` | boolean | true \| false | false |
45
- | loading | 加载中状态 | boolean | true \| false | false |
46
- | scrollWidth | 表格滚动的宽度(当表格总设置宽度(含自适应列)大于表格父级容器宽度时需要设置)**3.7.0 版本以后,该属性不建议使用** | number | - | - |
47
- | showColHighlight | 表格某一列`hover`时,该列高亮 | boolean | true \| false | false |
48
- | draggable | 表格行可拖拽 | boolean | true \| false | false |
49
- | hiddenColKeys | 隐藏列(受控) (v3.9.0 新增) | string[] | - | - |
50
- | onHiddenColKeysChange | 列隐藏设置时回调 (v3.9.0 新增) | (hiddenColKeys: string[]) => void | - | - |
51
- | cellRender | 全局控制单元格自定义渲染,优先级低于 column 的 render 方法 | (text: DataItem[ColumnItem[dataKey]]) => ReactNode | - | - |
18
+ | 属性名 | 描述 | 类型 | 可选值 | 默认值 |
19
+ | --------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ------------------------ | ---------- |
20
+ | data | 表格数据 | object[] | - | - |
21
+ | fieldKey | 指定 data 表格数据中某一属性为 key | string | - | 'key' |
22
+ | columns | 表格列配置信息 | ColumnItem[] | - | - |
23
+ | bordered | 是否显示边框(表头分组模式下,表格自带边框) | boolean | true \| false | false |
24
+ | sticky | 是否支持表头吸顶 | boolean | true \| false | false |
25
+ | stickyTop | 表头吸顶距离视口顶部距离 | number | - | 0 |
26
+ | highlightedColKeys | 高亮列(受控) | string[] | - | [] |
27
+ | expandedRender | 表格展开项 | (record: dataItem, index: number) => ReactNode \| Promise | - | - |
28
+ | rowExpandable | 设置是否允许行展开 | (record: dataItem ) => ReactNode \| Boolean | - | true |
29
+ | onExpand | 表格展开时的回调函数 | (expanded, row: object) => void | - | - |
30
+ | expandedRowKeys | 内嵌式表格以及树形表格展开的行 | number[] | - | - |
31
+ | maxHeight | 表格最大高度,当穿过该高度时,展示滚动条且表头固定 | number | - | - |
32
+ | fixedToColumn | 表格列冻结设置,为 string 时仅支持从左侧冻结至某一列 | string \| FixedOption | columns 中对应的 dataKey | null |
33
+ | size | 配置表格尺寸 | string | 'lg' \| 'md' \| 'sm' | 'md' |
34
+ | pagination | 表格分页配置项 | Pagination | - | null |
35
+ | errorRowKeys | 错误列(受控) | string[] | - | [] |
36
+ | highlightedRowKeys | 高亮行(受控) | string[] | - | [] |
37
+ | rowSelection | 行可选(受控) | RowSelection | - | null |
38
+ | dataSource | 异步数据源 | (current: number) => DataSource | - | null |
39
+ | showColMenu | 是否支持列操作 | boolean | - | false |
40
+ | striped | 是否展示为斑马纹效果 | boolean | - | false |
41
+ | setting | 是否集成控制面板功能 | boolean | - | false |
42
+ | emptyContent | 数据为空时的展示内容 | string \| () => ReactNode | - | '暂无数据' |
43
+ | resizable | 是否能够动态控制列宽 | boolean | true \| false | false |
44
+ | standard | 标准模式,默认集成 `showColMenu = true, sticky = true, bordered = true, setting = true, striped = true` | boolean | true \| false | false |
45
+ | loading | 加载中状态 | boolean | true \| false | false |
46
+ | scrollWidth | 表格滚动的宽度(当表格总设置宽度(含自适应列)大于表格父级容器宽度时需要设置)**3.7.0 版本以后,该属性不建议使用** | number | - | - |
47
+ | showColHighlight | 表格某一列`hover`时,该列高亮 | boolean | true \| false | false |
48
+ | draggable | 表格行可拖拽 | boolean | true \| false | false |
49
+ | hiddenColKeys | 隐藏列(受控) (v3.9.0 新增) | string[] | - | - |
50
+ | onHiddenColKeysChange | 列隐藏设置时回调 (v3.9.0 新增) | (hiddenColKeys: string[]) => void | - | - |
51
+ | cellRender | 全局控制单元格自定义渲染,优先级低于 column 的 render 方法 | (text: DataItem[ColumnItem[dataKey]]) => ReactNode | - | - |
52
52
 
53
53
  ## Event
54
54
 
@@ -151,14 +151,17 @@
151
151
 
152
152
  ## CHANGELOG
153
153
 
154
- | 参数 | 变更类型 | 变更内容 | 解决的问题 |
155
- | -------------------- | ---------- | ------------------------------------------- | ------------------------------------------- |
156
- | selectFilters | deprecated | 取消内嵌 Select | - | 使用 filterDropdown 能替代满足场景 |
157
- | onLoadChildren | feature | 必须返回数据 -> 返回 undefined 不做任何处理 | - | 强化功能:支持自定义控制更新 |
158
- | expandedEmbedRowKeys | feature | - | 字段:expandRowKeys -> expandedEmbedRowKeys | 强化功能:支持内嵌面板独立控制 |
159
- | onEmbedExpand | feature | 字段:onExpand -> onEmbedExpand | 强化功能:支持内嵌面板独立控制 |
160
- | stickyFooter | feature | boolean | 强化功能:支持底部吸底 |
161
- | defaultFixedToColumn | feature | 1. 定义:非受控;2. 类型:对象 | 强化功能持久化 |
162
- | fixedToColumn | feature | 1. 定义:受控;2. 类型:对象 | 强化功能持久化 |
163
- | onFixedToColumn | feature | 1. 定义:冻结列回调;2. 类型:对象 | 强化功能持久化 |
164
- | showRowHighlight | feature | - | 强化功能持久化 |
154
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
155
+ | --------------------- | ---------- | ------------------------------------------- | ------------------------------------------- |
156
+ | selectFilters | deprecated | 取消内嵌 Select | - | 使用 filterDropdown 能替代满足场景 |
157
+ | onLoadChildren | feature | 必须返回数据 -> 返回 undefined 不做任何处理 | - | 强化功能:支持自定义控制更新 |
158
+ | expandedEmbedRowKeys | feature | - | 字段:expandRowKeys -> expandedEmbedRowKeys | 强化功能:支持内嵌面板独立控制 |
159
+ | onEmbedExpand | feature | 字段:onExpand -> onEmbedExpand | 强化功能:支持内嵌面板独立控制 |
160
+ | stickyFooter | feature | boolean | 强化功能:支持底部吸底 |
161
+ | stickyFooterBottom | feature | 底部吸底距离视口底部距离 | 强化功能 |
162
+ | defaultFixedToColumn | feature | 1. 定义:非受控;2. 类型:对象 | 强化功能持久化 |
163
+ | fixedToColumn | feature | 1. 定义:受控;2. 类型:对象 | 强化功能持久化 |
164
+ | onFixedToColumn | feature | 1. 定义:冻结列回调;2. 类型:对象 | 强化功能持久化 |
165
+ | showRowHighlight | feature | - | 强化功能受控化 |
166
+ | sortedColKeys | feature | 列排序受控 | 强化功能持久化 |
167
+ | onSortedColKeysChange | feature | 列排序设置回调 | 强化功能持久化 |
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -23,6 +23,8 @@ var classname = require('@hi-ui/classname');
23
23
 
24
24
  var env = require('@hi-ui/env');
25
25
 
26
+ var core = require('@hi-ui/core');
27
+
26
28
  var iconButton = require('@hi-ui/icon-button');
27
29
 
28
30
  var icons = require('@hi-ui/icons');
@@ -43,8 +45,6 @@ var useTable = require('./use-table.js');
43
45
 
44
46
  var useEmbedExpand = require('./hooks/use-embed-expand.js');
45
47
 
46
- var localeContext = require('@hi-ui/locale-context');
47
-
48
48
  function _interopDefaultLegacy(e) {
49
49
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
50
50
  'default': e
@@ -87,10 +87,12 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
87
87
  extra = _a.extra,
88
88
  onRow = _a.onRow,
89
89
  stickyFooter = _a.stickyFooter,
90
+ _a$stickyFooterBottom = _a.stickyFooterBottom,
91
+ stickyFooterBottom = _a$stickyFooterBottom === void 0 ? 0 : _a$stickyFooterBottom,
90
92
  _a$fixedColumnTrigger = _a.fixedColumnTrigger,
91
93
  fixedColumnTrigger = _a$fixedColumnTrigger === void 0 ? 'auto' : _a$fixedColumnTrigger,
92
94
  emptyContent = _a.emptyContent,
93
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "columns", "data", "striped", "bordered", "rowExpandable", "defaultExpandedEmbedRowKeys", "expandedEmbedRowKeys", "onEmbedExpand", "expandedRender", "size", "extra", "onRow", "onHeaderRow", "stickyFooter", "fixedColumnTrigger", "emptyContent"]);
95
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "columns", "data", "striped", "bordered", "rowExpandable", "defaultExpandedEmbedRowKeys", "expandedEmbedRowKeys", "onEmbedExpand", "expandedRender", "size", "extra", "onRow", "onHeaderRow", "stickyFooter", "stickyFooterBottom", "fixedColumnTrigger", "emptyContent"]);
94
96
 
95
97
  var _useEmbedExpand = useEmbedExpand.useEmbedExpand({
96
98
  defaultExpandedEmbedRowKeys: defaultExpandedEmbedRowKeys,
@@ -110,7 +112,7 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
110
112
  */
111
113
 
112
114
 
113
- var getEmbedPanelColumn = React__default['default'].useCallback(function (embedExpandable) {
115
+ var getEmbedPanelColumn = React__default["default"].useCallback(function (embedExpandable) {
114
116
  var embedPanelColumn = {
115
117
  dataKey: EMBED_DATA_KEY,
116
118
  title: '',
@@ -131,14 +133,14 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
131
133
  onSwitch: function onSwitch(shouldExpanded) {
132
134
  onExpandEmbedRowsChange(rowItem, shouldExpanded);
133
135
  },
134
- expandedIcon: /*#__PURE__*/React__default['default'].createElement(icons.MinusSquareOutlined, null),
135
- collapsedIcon: /*#__PURE__*/React__default['default'].createElement(icons.PlusSquareOutlined, null)
136
+ expandedIcon: /*#__PURE__*/React__default["default"].createElement(icons.MinusSquareOutlined, null),
137
+ collapsedIcon: /*#__PURE__*/React__default["default"].createElement(icons.PlusSquareOutlined, null)
136
138
  });
137
139
  }
138
140
  };
139
141
  return embedPanelColumn;
140
142
  }, [prefixCls, isExpandEmbedRows, onExpandEmbedRowsChange, isEmbedLoadingId]);
141
- var mergedColumns = React__default['default'].useMemo(function () {
143
+ var mergedColumns = React__default["default"].useMemo(function () {
142
144
  if (embedExpandable) {
143
145
  var embedColumn = getEmbedPanelColumn(embedExpandable);
144
146
  return [embedColumn].concat(columns);
@@ -146,7 +148,7 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
146
148
 
147
149
  return columns;
148
150
  }, [embedExpandable, getEmbedPanelColumn, columns]);
149
- var i18n = localeContext.useLocaleContext(); // 确保包含 avg 属性,且值为数字类型的字符串
151
+ var i18n = core.useLocaleContext(); // 确保包含 avg 属性,且值为数字类型的字符串
150
152
 
151
153
  var avgRow = {
152
154
  id: 'avg',
@@ -205,14 +207,15 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
205
207
  var extraFooter = extra && extra.footer;
206
208
  var alwaysFixedColumn = fixedColumnTrigger === 'always';
207
209
  var cls = classname.cx(prefixCls, className, hasBorder && prefixCls + "--bordered", striped && prefixCls + "--striped", size && prefixCls + "--size-" + size);
208
- return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
210
+ return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
209
211
  ref: ref,
210
212
  role: role,
211
213
  className: cls
212
- }, rootProps), /*#__PURE__*/React__default['default'].createElement("div", {
214
+ }, rootProps), /*#__PURE__*/React__default["default"].createElement("div", {
213
215
  className: prefixCls + "__wrapper"
214
- }, /*#__PURE__*/React__default['default'].createElement(context.TableProvider, {
216
+ }, /*#__PURE__*/React__default["default"].createElement(context.TableProvider, {
215
217
  value: Object.assign(Object.assign({}, providedValue), {
218
+ striped: striped,
216
219
  onRow: onRow,
217
220
  embedExpandable: embedExpandable,
218
221
  onEmbedSwitch: onEmbedSwitch,
@@ -225,9 +228,9 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
225
228
  sumRow: sumRow,
226
229
  hasSumColumn: hasSumColumn
227
230
  })
228
- }, /*#__PURE__*/React__default['default'].createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React__default['default'].createElement(TableHeader.TableHeader, {
231
+ }, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React__default["default"].createElement(TableHeader.TableHeader, {
229
232
  prefixCls: prefixCls + "-header"
230
- }), extraHeader ? /*#__PURE__*/React__default['default'].createElement("div", {
233
+ }), extraHeader ? /*#__PURE__*/React__default["default"].createElement("div", {
231
234
  style: {
232
235
  position: 'absolute',
233
236
  right: 0,
@@ -235,24 +238,24 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
235
238
  bottom: 0,
236
239
  top: 0
237
240
  }
238
- }, extraHeader) : null), /*#__PURE__*/React__default['default'].createElement(TableBody.TableBody, {
241
+ }, extraHeader) : null), /*#__PURE__*/React__default["default"].createElement(TableBody.TableBody, {
239
242
  prefixCls: prefixCls,
240
243
  emptyContent: emptyContent
241
- })), (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default['default'].createElement("div", {
244
+ })), (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
242
245
  className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--left",
243
246
  style: {
244
247
  width: leftFixedColumnsWidth + 'px'
245
248
  }
246
- }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default['default'].createElement("div", {
249
+ }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
247
250
  className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--right",
248
251
  style: {
249
252
  width: rightFixedColumnsWidth + 'px'
250
253
  }
251
- }) : null), /*#__PURE__*/React__default['default'].createElement("div", {
254
+ }) : null), /*#__PURE__*/React__default["default"].createElement("div", {
252
255
  className: prefixCls + "-footer",
253
256
  style: stickyFooter ? {
254
257
  position: 'sticky',
255
- bottom: 0 // boxShadow: '0 5px 15px 0 rgba(0, 0, 0, 0.1)'
258
+ bottom: stickyFooterBottom // boxShadow: '0 5px 15px 0 rgba(0, 0, 0, 0.1)'
256
259
 
257
260
  } : undefined
258
261
  }, extraFooter));
@@ -271,24 +274,26 @@ var renderSwitcher = function renderSwitcher(_ref) {
271
274
  expandedIcon = _ref.expandedIcon,
272
275
  collapsedIcon = _ref.collapsedIcon;
273
276
 
274
- if ( /*#__PURE__*/React__default['default'].isValidElement(rowExpand)) {
277
+ if ( /*#__PURE__*/React__default["default"].isValidElement(rowExpand)) {
275
278
  return rowExpand;
276
279
  }
277
280
 
278
281
  if (rowExpand === true) {
279
282
  if (loading) {
280
- return /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
283
+ return /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
281
284
  className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--loading"),
282
285
  icon: index$1.defaultLoadingIcon
283
286
  });
284
287
  }
285
288
 
286
- return /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
289
+ return /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
287
290
  tabIndex: -1,
288
291
  className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--" + (expanded ? 'expanded' : 'collapse')),
289
292
  icon: expanded ? expandedIcon : collapsedIcon,
290
- onClick: function onClick() {
291
- return onSwitch(!expanded);
293
+ onClick: function onClick(evt) {
294
+ // 阻止传递给 onRow 的 onClick 事件
295
+ evt.stopPropagation();
296
+ onSwitch(!expanded);
292
297
  }
293
298
  });
294
299
  }
@@ -298,4 +303,3 @@ var renderSwitcher = function renderSwitcher(_ref) {
298
303
 
299
304
  exports.BaseTable = BaseTable;
300
305
  exports.EMBED_DATA_KEY = EMBED_DATA_KEY;
301
- //# sourceMappingURL=BaseTable.js.map
package/lib/cjs/Table.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @hi-ui/table
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
4
4
  *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
@@ -84,8 +84,6 @@ var DEFAULT_PAGINATION = {
84
84
 
85
85
  var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
86
86
  // ************************ 预置标准模式 ************************ //
87
- var _b;
88
-
89
87
  var _a$prefixCls = _a.prefixCls,
90
88
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
91
89
  _a$standard = _a.standard,
@@ -98,28 +96,40 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
98
96
  columnsProp = _a.columns,
99
97
  hiddenColKeysProp = _a.hiddenColKeys,
100
98
  onHiddenColKeysChange = _a.onHiddenColKeysChange,
99
+ sortedColKeysProp = _a.sortedColKeys,
100
+ onSortedColKeysChange = _a.onSortedColKeysChange,
101
101
  rowSelection = _a.rowSelection,
102
102
  _a$fieldKey = _a.fieldKey,
103
103
  fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
104
- _a$stickyFooter = _a.stickyFooter,
105
- stickyFooter = _a$stickyFooter === void 0 ? false : _a$stickyFooter,
104
+ extra = _a.extra,
106
105
  _a$data = _a.data,
107
106
  data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
108
- rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "rowSelection", "fieldKey", "stickyFooter", "data"]);
107
+ rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "rowSelection", "fieldKey", "extra", "data"]);
108
+
109
+ var tableProps = reactUtils.withDefaultProps(rest, standard ? STANDARD_PRESET : undefined);
109
110
 
110
- var baseTableProps = reactUtils.withDefaultProps(rest, standard ? STANDARD_PRESET : undefined);
111
- var setting = (_b = baseTableProps.setting) !== null && _b !== void 0 ? _b : false; // ************************ 高级功能 ************************ //
111
+ var _tableProps$setting = tableProps.setting,
112
+ setting = _tableProps$setting === void 0 ? false : _tableProps$setting,
113
+ baseTableProps = tslib.__rest(tableProps // ************************ 高级功能 ************************ //
112
114
 
113
115
  /**
114
116
  * 列排序
115
117
  */
118
+ , ["setting"]); // ************************ 高级功能 ************************ //
119
+
120
+ /**
121
+ * 列排序
122
+ */
123
+
116
124
 
117
125
  var _useColSorter = useColSorter.useColSorter({
118
126
  uniqueId: uniqueId,
119
- columns: columnsProp
127
+ columns: columnsProp,
128
+ sortedColKeys: sortedColKeysProp,
129
+ onSortedColKeysChange: onSortedColKeysChange
120
130
  }),
121
131
  sortedCols = _useColSorter.sortedCols,
122
- setSortCols = _useColSorter.setSortCols,
132
+ setSortColKeys = _useColSorter.setSortColKeys,
123
133
  cacheSortedCols = _useColSorter.cacheSortedCols,
124
134
  setCacheSortedCols = _useColSorter.setCacheSortedCols;
125
135
  /**
@@ -155,7 +165,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
155
165
  trySetCurrentPage = _useTablePagination.trySetCurrentPage; // 优化数据在第一页且数据一页内时,不展示 pagination 配置项
156
166
 
157
167
 
158
- var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && data.length <= pagination.pageSize; // 获取 key 字段值
168
+ var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && typeof pagination.total === 'number' && pagination.total <= pagination.pageSize && data.length <= pagination.pageSize; // 获取 key 字段值
159
169
 
160
170
  var getRowKeyField = React.useCallback(function (item) {
161
171
  var val = item[fieldKey];
@@ -178,7 +188,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
178
188
  }, [mergedData, getRowKeyField]); // ************************ 行多选 ************************ //
179
189
  // 自定义设置 checkbox 列宽度
180
190
 
181
- var checkboxColWidth = React__default['default'].useMemo(function () {
191
+ var checkboxColWidth = React__default["default"].useMemo(function () {
182
192
  return rowSelection && typeof rowSelection.checkboxColWidth === 'number' ? rowSelection.checkboxColWidth : 38;
183
193
  }, [rowSelection]); // 预处理 column 支持 多选渲染
184
194
 
@@ -195,17 +205,20 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
195
205
  checkRowIsDisabledCheckbox = _useTableCheck.checkRowIsDisabledCheckbox; // 表格列多选操作区
196
206
 
197
207
 
198
- var getSelectionColumn = React__default['default'].useCallback(function (rowSelection) {
208
+ var getSelectionColumn = React__default["default"].useCallback(function (rowSelection) {
199
209
  var renderCell = function renderCell(_, rowItem, rowIndex) {
200
210
  var rowKey = getRowKeyField(rowItem);
201
211
  var checked = isCheckedRowKey(rowKey);
202
212
  var disabledCheckbox = checkRowIsDisabledCheckbox(rowItem);
203
213
  return {
204
- node: /*#__PURE__*/React__default['default'].createElement(Checkbox__default['default'], {
214
+ node: /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
205
215
  checked: isCheckedRowKey(rowKey),
206
216
  disabled: disabledCheckbox,
207
217
  onChange: function onChange(evt) {
208
218
  onCheckedRowKeysChange(rowItem, evt.target.checked);
219
+ },
220
+ onClick: function onClick(evt) {
221
+ evt.stopPropagation();
209
222
  }
210
223
  }),
211
224
  checked: checked
@@ -233,7 +246,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
233
246
 
234
247
  var renderTitleCell = function renderTitleCell() {
235
248
  return {
236
- node: /*#__PURE__*/React__default['default'].createElement(Checkbox__default['default'], {
249
+ node: /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
237
250
  checked: checkedAll,
238
251
  indeterminate: semiChecked,
239
252
  onChange: tryCheckAllRow
@@ -247,8 +260,14 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
247
260
  var _renderTitleCell = renderTitleCell(),
248
261
  node = _renderTitleCell.node;
249
262
 
250
- if (rowSelection.checkAllOptions && rowSelection.checkAllOptions.render) {
251
- return rowSelection.checkAllOptions.render(node);
263
+ if (rowSelection.checkAllOptions) {
264
+ if (rowSelection.checkAllOptions.render) {
265
+ return rowSelection.checkAllOptions.render(node);
266
+ }
267
+
268
+ if (rowSelection.checkAllOptions.filterIcon) {
269
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, node, rowSelection.checkAllOptions.filterIcon);
270
+ }
252
271
  }
253
272
 
254
273
  return node;
@@ -264,7 +283,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
264
283
  };
265
284
  return selectionColumn;
266
285
  }, [getRowKeyField, checkedAll, semiChecked, tryCheckAllRow, checkboxColWidth, isCheckedRowKey, onCheckedRowKeysChange, checkRowIsDisabledCheckbox, prefixCls]);
267
- var mergedColumns = React__default['default'].useMemo(function () {
286
+ var mergedColumns = React__default["default"].useMemo(function () {
268
287
  if (rowSelection) {
269
288
  var selectionColumn = getSelectionColumn(rowSelection);
270
289
  return [selectionColumn].concat(visibleCols);
@@ -273,21 +292,20 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
273
292
  return visibleCols;
274
293
  }, [rowSelection, getSelectionColumn, visibleCols]); // ************************ loading ************************ //
275
294
 
276
- var TableWrapper = loading ? Loading__default['default'] : React.Fragment;
277
- return /*#__PURE__*/React__default['default'].createElement(TableWrapper, null, /*#__PURE__*/React__default['default'].createElement(BaseTable.BaseTable, Object.assign({
295
+ var TableWrapper = loading ? Loading__default["default"] : React.Fragment;
296
+ return /*#__PURE__*/React__default["default"].createElement(TableWrapper, null, /*#__PURE__*/React__default["default"].createElement(BaseTable.BaseTable, Object.assign({
278
297
  ref: ref
279
298
  }, baseTableProps, {
280
- stickyFooter: stickyFooter,
281
299
  prefixCls: prefixCls,
282
300
  columns: mergedColumns,
283
301
  data: mergedData,
284
302
  fieldKey: fieldKey,
285
- extra: {
286
- header: setting ? /*#__PURE__*/React__default['default'].createElement(TableSettingMenu.TableSettingMenu, {
303
+ extra: Object.assign({
304
+ header: setting ? /*#__PURE__*/React__default["default"].createElement(TableSettingMenu.TableSettingMenu, {
287
305
  prefixCls: prefixCls + "-setting",
288
306
  // sort
289
307
  sortedCols: sortedCols,
290
- setSortCols: setSortCols,
308
+ setSortColKeys: setSortColKeys,
291
309
  cacheSortedCols: cacheSortedCols,
292
310
  setCacheSortedCols: setCacheSortedCols,
293
311
  // hidden
@@ -296,13 +314,13 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
296
314
  cacheHiddenColKeys: cacheHiddenColKeys,
297
315
  setCacheHiddenColKeys: setCacheHiddenColKeys
298
316
  }) : null,
299
- footer: hiddenPagination ? null : /*#__PURE__*/React__default['default'].createElement(Pagination__default['default'], Object.assign({
317
+ footer: hiddenPagination ? null : /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], Object.assign({
300
318
  className: classname.cx(prefixCls + "-pagination", pagination.placement && prefixCls + "-pagination--placement-" + pagination.placement)
301
319
  }, pagination, {
302
320
  current: currentPage,
303
321
  onChange: trySetCurrentPage
304
322
  }))
305
- }
323
+ }, extra)
306
324
  })));
307
325
  });
308
326
 
@@ -312,4 +330,3 @@ if (env.__DEV__) {
312
330
 
313
331
  exports.SELECTION_DATA_KEY = SELECTION_DATA_KEY;
314
332
  exports.Table = Table;
315
- //# sourceMappingURL=Table.js.map