@sheinx/hooks 3.7.0-beta.4 → 3.7.0-beta.41

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 (161) hide show
  1. package/cjs/common/use-component-memo/index.d.ts +2 -0
  2. package/cjs/common/use-component-memo/index.d.ts.map +1 -0
  3. package/cjs/common/use-component-memo/index.js +13 -0
  4. package/cjs/common/use-component-memo/use-memo.d.ts +2 -0
  5. package/cjs/common/use-component-memo/use-memo.d.ts.map +1 -0
  6. package/cjs/common/{use-memo → use-component-memo}/use-memo.js +2 -2
  7. package/cjs/common/use-filter/index.d.ts +1 -0
  8. package/cjs/common/use-filter/index.d.ts.map +1 -1
  9. package/cjs/common/use-filter/index.js +7 -0
  10. package/cjs/common/use-filter/use-filter-context.d.ts +7 -0
  11. package/cjs/common/use-filter/use-filter-context.d.ts.map +1 -0
  12. package/cjs/common/use-filter/use-filter-context.js +10 -0
  13. package/cjs/common/use-filter/use-filter.d.ts +1 -0
  14. package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
  15. package/cjs/common/use-filter/use-filter.js +2 -0
  16. package/cjs/common/use-position-style/check-element-size.d.ts +10 -0
  17. package/cjs/common/use-position-style/check-element-size.d.ts.map +1 -0
  18. package/cjs/common/use-position-style/check-element-size.js +65 -0
  19. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  20. package/cjs/common/use-position-style/index.js +5 -8
  21. package/cjs/components/use-datepicker/index.d.ts +1 -1
  22. package/cjs/components/use-datepicker/index.d.ts.map +1 -1
  23. package/cjs/components/use-datepicker/index.js +23 -2
  24. package/cjs/components/use-datepicker/use-datepicker-format.d.ts +17 -0
  25. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  26. package/cjs/components/use-datepicker/use-datepicker-format.js +15 -3
  27. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  28. package/cjs/components/use-form/use-form-control/use-form-control.js +15 -2
  29. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +3 -0
  30. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  31. package/cjs/components/use-form/use-form.d.ts +4 -4
  32. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  33. package/cjs/components/use-form/use-form.js +32 -23
  34. package/cjs/components/use-form/use-form.type.d.ts +8 -0
  35. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  36. package/cjs/components/use-image/use-image.d.ts +2 -0
  37. package/cjs/components/use-image/use-image.d.ts.map +1 -1
  38. package/cjs/components/use-image/use-image.js +40 -2
  39. package/cjs/components/use-popup/popup-context.d.ts +2 -0
  40. package/cjs/components/use-popup/popup-context.d.ts.map +1 -1
  41. package/cjs/components/use-popup/popup-context.js +2 -0
  42. package/cjs/components/use-popup/use-popup.d.ts +4 -0
  43. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  44. package/cjs/components/use-popup/use-popup.js +33 -13
  45. package/cjs/components/use-table/index.d.ts +1 -1
  46. package/cjs/components/use-table/index.d.ts.map +1 -1
  47. package/cjs/components/use-table/use-table-group.d.ts.map +1 -1
  48. package/cjs/components/use-table/use-table-group.js +3 -1
  49. package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
  50. package/cjs/components/use-table/use-table-layout.js +0 -1
  51. package/cjs/components/use-table/use-table-virtual.d.ts +1 -2
  52. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  53. package/cjs/components/use-table/use-table-virtual.js +14 -12
  54. package/cjs/components/use-table/use-table.type.d.ts +13 -15
  55. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  56. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  57. package/cjs/components/use-tree/use-tree.js +25 -7
  58. package/cjs/components/use-tree/use-tree.type.d.ts +1 -0
  59. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  60. package/cjs/components/use-upload/use-upload.d.ts.map +1 -1
  61. package/cjs/components/use-upload/use-upload.js +54 -34
  62. package/cjs/components/use-upload/use-upload.type.d.ts +7 -0
  63. package/cjs/components/use-upload/use-upload.type.d.ts.map +1 -1
  64. package/cjs/index.d.ts +1 -1
  65. package/cjs/index.d.ts.map +1 -1
  66. package/cjs/index.js +4 -4
  67. package/cjs/utils/highlight.d.ts +7 -0
  68. package/cjs/utils/highlight.d.ts.map +1 -0
  69. package/cjs/utils/highlight.js +67 -0
  70. package/cjs/utils/index.d.ts +1 -0
  71. package/cjs/utils/index.d.ts.map +1 -1
  72. package/cjs/utils/index.js +12 -0
  73. package/cjs/utils/string.d.ts +1 -0
  74. package/cjs/utils/string.d.ts.map +1 -1
  75. package/cjs/utils/string.js +13 -0
  76. package/esm/common/use-component-memo/index.d.ts +2 -0
  77. package/esm/common/use-component-memo/index.d.ts.map +1 -0
  78. package/esm/common/use-component-memo/index.js +2 -0
  79. package/esm/common/use-component-memo/use-memo.d.ts +2 -0
  80. package/esm/common/use-component-memo/use-memo.d.ts.map +1 -0
  81. package/esm/common/{use-memo → use-component-memo}/use-memo.js +1 -1
  82. package/esm/common/use-filter/index.d.ts +1 -0
  83. package/esm/common/use-filter/index.d.ts.map +1 -1
  84. package/esm/common/use-filter/index.js +2 -1
  85. package/esm/common/use-filter/use-filter-context.d.ts +7 -0
  86. package/esm/common/use-filter/use-filter-context.d.ts.map +1 -0
  87. package/esm/common/use-filter/use-filter-context.js +3 -0
  88. package/esm/common/use-filter/use-filter.d.ts +1 -0
  89. package/esm/common/use-filter/use-filter.d.ts.map +1 -1
  90. package/esm/common/use-filter/use-filter.js +2 -0
  91. package/esm/common/use-position-style/check-element-size.d.ts +10 -0
  92. package/esm/common/use-position-style/check-element-size.d.ts.map +1 -0
  93. package/esm/common/use-position-style/check-element-size.js +59 -0
  94. package/esm/common/use-position-style/index.d.ts.map +1 -1
  95. package/esm/common/use-position-style/index.js +5 -8
  96. package/esm/components/use-datepicker/index.d.ts +1 -1
  97. package/esm/components/use-datepicker/index.d.ts.map +1 -1
  98. package/esm/components/use-datepicker/index.js +1 -1
  99. package/esm/components/use-datepicker/use-datepicker-format.d.ts +17 -0
  100. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  101. package/esm/components/use-datepicker/use-datepicker-format.js +14 -2
  102. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  103. package/esm/components/use-form/use-form-control/use-form-control.js +15 -2
  104. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +3 -0
  105. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  106. package/esm/components/use-form/use-form.d.ts +4 -4
  107. package/esm/components/use-form/use-form.d.ts.map +1 -1
  108. package/esm/components/use-form/use-form.js +32 -23
  109. package/esm/components/use-form/use-form.type.d.ts +8 -0
  110. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  111. package/esm/components/use-image/use-image.d.ts +2 -0
  112. package/esm/components/use-image/use-image.d.ts.map +1 -1
  113. package/esm/components/use-image/use-image.js +40 -2
  114. package/esm/components/use-popup/popup-context.d.ts +2 -0
  115. package/esm/components/use-popup/popup-context.d.ts.map +1 -1
  116. package/esm/components/use-popup/popup-context.js +2 -0
  117. package/esm/components/use-popup/use-popup.d.ts +4 -0
  118. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  119. package/esm/components/use-popup/use-popup.js +34 -14
  120. package/esm/components/use-table/index.d.ts +1 -1
  121. package/esm/components/use-table/index.d.ts.map +1 -1
  122. package/esm/components/use-table/use-table-group.d.ts.map +1 -1
  123. package/esm/components/use-table/use-table-group.js +3 -1
  124. package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
  125. package/esm/components/use-table/use-table-layout.js +0 -1
  126. package/esm/components/use-table/use-table-virtual.d.ts +1 -2
  127. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  128. package/esm/components/use-table/use-table-virtual.js +14 -12
  129. package/esm/components/use-table/use-table.type.d.ts +13 -15
  130. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  131. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  132. package/esm/components/use-tree/use-tree.js +26 -8
  133. package/esm/components/use-tree/use-tree.type.d.ts +1 -0
  134. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  135. package/esm/components/use-upload/use-upload.d.ts.map +1 -1
  136. package/esm/components/use-upload/use-upload.js +54 -34
  137. package/esm/components/use-upload/use-upload.type.d.ts +7 -0
  138. package/esm/components/use-upload/use-upload.type.d.ts.map +1 -1
  139. package/esm/index.d.ts +1 -1
  140. package/esm/index.d.ts.map +1 -1
  141. package/esm/index.js +1 -1
  142. package/esm/utils/highlight.d.ts +7 -0
  143. package/esm/utils/highlight.d.ts.map +1 -0
  144. package/esm/utils/highlight.js +59 -0
  145. package/esm/utils/index.d.ts +1 -0
  146. package/esm/utils/index.d.ts.map +1 -1
  147. package/esm/utils/index.js +1 -0
  148. package/esm/utils/string.d.ts +1 -0
  149. package/esm/utils/string.d.ts.map +1 -1
  150. package/esm/utils/string.js +12 -0
  151. package/package.json +1 -1
  152. package/cjs/common/use-memo/index.d.ts +0 -2
  153. package/cjs/common/use-memo/index.d.ts.map +0 -1
  154. package/cjs/common/use-memo/index.js +0 -20
  155. package/cjs/common/use-memo/use-memo.d.ts +0 -2
  156. package/cjs/common/use-memo/use-memo.d.ts.map +0 -1
  157. package/esm/common/use-memo/index.d.ts +0 -2
  158. package/esm/common/use-memo/index.d.ts.map +0 -1
  159. package/esm/common/use-memo/index.js +0 -2
  160. package/esm/common/use-memo/use-memo.d.ts +0 -2
  161. package/esm/common/use-memo/use-memo.d.ts.map +0 -1
@@ -4,7 +4,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
5
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- import { useContext, useEffect, useMemo, useRef, useState } from 'react';
7
+ import { useContext, useLayoutEffect, useEffect, useRef, useState, useMemo } from 'react';
8
8
  import useClickAway from "../../common/use-click-away";
9
9
  import { getPosition } from "../../utils/position";
10
10
  import usePersistFn from "../../common/use-persist-fn";
@@ -27,21 +27,32 @@ var usePopup = function usePopup(props) {
27
27
  setOpenState = _useState2[1];
28
28
  var _useContext = useContext(popupContext),
29
29
  bindChild = _useContext.bindChild,
30
- removeChild = _useContext.removeChild;
30
+ removeChild = _useContext.removeChild,
31
+ addParent = _useContext.addParent,
32
+ removeParent = _useContext.removeParent;
31
33
  var targetRef = useRef(null);
32
34
  var popupRef = useRef(null);
33
- useEffect(function () {
34
- bindChild(popupRef);
35
- return function () {
36
- removeChild(popupRef);
37
- };
38
- }, []);
39
35
  var _useRef = useRef({
40
36
  triggerTimer: null,
41
37
  // 记录所有的子popup 点击子 popup 不关闭弹窗
42
38
  chain: [targetRef, popupRef]
43
39
  }),
44
40
  context = _useRef.current;
41
+ var handleAddParent = function handleAddParent(elRef) {
42
+ context.chain.push(elRef);
43
+
44
+ // 继续向上添加当前的 popupRef 到父级
45
+ addParent(elRef);
46
+ };
47
+ var handleRemoveParent = function handleRemoveParent(elRef) {
48
+ var index = context.chain.findIndex(function (item) {
49
+ return item === elRef;
50
+ });
51
+ if (index > -1) {
52
+ context.chain.splice(index, 1);
53
+ removeParent(elRef);
54
+ }
55
+ };
45
56
  var open = openState;
46
57
  var changeOpen = function changeOpen(openIn, delay) {
47
58
  if (context.triggerTimer) clearTimeout(context.triggerTimer);
@@ -71,11 +82,6 @@ var usePopup = function usePopup(props) {
71
82
  updatePosition();
72
83
  }
73
84
  setOpenState(!!props.open);
74
-
75
- // 外部传了open时,需要正常的触发onCollapse;触发了onCollapse才能让组件内部的edit状态正确,否则可能会出现弹出层打开了但是用户却无法选择的情况
76
- if (props.open !== undefined) {
77
- changeOpen(!!props.open);
78
- }
79
85
  }, [props.open]);
80
86
 
81
87
  // const getPopUpHeight = () => {
@@ -180,8 +186,13 @@ var usePopup = function usePopup(props) {
180
186
  });
181
187
  var providerValue = useMemo(function () {
182
188
  return {
189
+ addParent: handleAddParent,
190
+ removeParent: handleRemoveParent,
183
191
  bindChild: function bindChild(elRef) {
184
- context.chain.push(elRef);
192
+ if (elRef.current) {
193
+ addParent(elRef);
194
+ context.chain.push(elRef);
195
+ }
185
196
  },
186
197
  removeChild: function removeChild(elRef) {
187
198
  var index = context.chain.findIndex(function (item) {
@@ -189,10 +200,19 @@ var usePopup = function usePopup(props) {
189
200
  });
190
201
  if (index > -1) {
191
202
  context.chain.splice(index, 1);
203
+ removeParent(elRef);
192
204
  }
193
205
  }
194
206
  };
195
207
  }, []);
208
+ useLayoutEffect(function () {
209
+ if (open) {
210
+ bindChild(popupRef);
211
+ }
212
+ return function () {
213
+ removeChild(popupRef);
214
+ };
215
+ }, [open]);
196
216
  return {
197
217
  open: open,
198
218
  position: position,
@@ -7,5 +7,5 @@ export { default as useTableRow } from './use-table-row';
7
7
  export { default as useTableExpand } from './use-table-expand';
8
8
  export { default as useTableTree } from './use-table-tree';
9
9
  export { default as useTableVirtual } from './use-table-virtual';
10
- export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData, ShouldUpdate, } from './use-table.type';
10
+ export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData, } from './use-table.type';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-group.d.ts","sourceRoot":"","sources":["use-table-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,QAAA,MAAM,aAAa,UAAW,kBAAkB;;;CAsE/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"use-table-group.d.ts","sourceRoot":"","sources":["use-table-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,QAAA,MAAM,aAAa,UAAW,kBAAkB;;;CAwE/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -27,6 +27,7 @@ var useTableGroup = function useTableGroup(props) {
27
27
  last.colSpan += colSpan;
28
28
  if (col.fixed) last.fixed = col.fixed;
29
29
  if (col.lastFixed) last.lastFixed = true;
30
+ if (col.groupProps) last.groupProps = col.groupProps;
30
31
  } else {
31
32
  var sub = [];
32
33
  colSpan = setColumns(sub, col, level + 1, index);
@@ -39,7 +40,8 @@ var useTableGroup = function useTableGroup(props) {
39
40
  fixed: col.fixed,
40
41
  firstFixed: col.firstFixed,
41
42
  index: index,
42
- columns: sub
43
+ columns: sub,
44
+ groupProps: col.groupProps
43
45
  };
44
46
  columns.push(groupCol);
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CA8O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -387,7 +387,6 @@ var useTableLayout = function useTableLayout(props) {
387
387
  width: tableWidth,
388
388
  shouldLastColAuto: props.columnResizable && !adjust,
389
389
  scrollWidth: scrollWidth,
390
- // maxScrollLeft: scrollWidth - context.clientWidth,
391
390
  resizeFlag: resizeFlag
392
391
  };
393
392
  };
@@ -16,7 +16,7 @@ interface UseTableVirtualProps {
16
16
  declare const useTableVirtual: (props: UseTableVirtualProps) => {
17
17
  scrollHeight: number;
18
18
  startIndex: number;
19
- innerTop: number;
19
+ translateStyle: string;
20
20
  data: any[];
21
21
  handleScroll: (info: {
22
22
  scrollLeft: number;
@@ -26,7 +26,6 @@ declare const useTableVirtual: (props: UseTableVirtualProps) => {
26
26
  fromDrag: boolean;
27
27
  }) => void;
28
28
  setRowHeight: (index: number, height: number) => void;
29
- getTranslate: (left?: number, top?: number) => string;
30
29
  scrollToIndex: (index: number, callback?: () => void) => void;
31
30
  scrollColumnByLeft: (targetLeft: number) => void;
32
31
  scrollColumnIntoView: (colKey: string | number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;oBA6LpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;0BAjBtB,MAAM,QAAQ,MAAM;2BAuJnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAUR,MAAM,GAAG,MAAM;CAgGnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;oBAqLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;2BAsIrB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAUR,MAAM,GAAG,MAAM;CA0GnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -117,13 +117,6 @@ var useTableVirtual = function useTableVirtual(props) {
117
117
  autoAddRows: 0
118
118
  }),
119
119
  context = _useRef.current;
120
- var getTranslate = usePersistFn(function (left, top) {
121
- var t = top === undefined ? innerTop + offsetY : top;
122
- if (t < 0) {
123
- t = 0;
124
- }
125
- return "translate3d(0, ".concat(0 - t, "px, 0)");
126
- });
127
120
  var getContentHeight = function getContentHeight(index) {
128
121
  if (props.disabled) return 0;
129
122
  var sum = 0;
@@ -223,7 +216,7 @@ var useTableVirtual = function useTableVirtual(props) {
223
216
  };
224
217
  setHeight(sumHeight);
225
218
  });
226
- var handleScroll = function handleScroll(info) {
219
+ var handleScroll = usePersistFn(function (info) {
227
220
  var height = info.height,
228
221
  y = info.y,
229
222
  fromDrag = info.fromDrag;
@@ -257,7 +250,7 @@ var useTableVirtual = function useTableVirtual(props) {
257
250
  } else {
258
251
  updateIndexAndTopFromTop(scrollTop);
259
252
  }
260
- };
253
+ });
261
254
  var scrollToIndex = usePersistFn(function (index, callback) {
262
255
  if (props.disabled) return;
263
256
  if (props.scrollRef.current) {
@@ -362,15 +355,24 @@ var useTableVirtual = function useTableVirtual(props) {
362
355
  }
363
356
  }, [scrollHeight]);
364
357
  var finalRowsInView = rowsInView + context.rowSpanRows + context.autoAddRows;
365
- var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
358
+ var renderData = useMemo(function () {
359
+ if (props.disabled) return props.data;
360
+ return _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
361
+ }, [props.data, props.disabled, startIndex, finalRowsInView]);
362
+ var translateStyle = useMemo(function () {
363
+ var t = innerTop + offsetY;
364
+ if (t < 0) {
365
+ t = 0;
366
+ }
367
+ return "translate3d(0, ".concat(0 - t, "px, 0)");
368
+ }, [innerTop]);
366
369
  return {
367
370
  scrollHeight: scrollHeight,
368
371
  startIndex: startIndex,
369
- innerTop: innerTop + offsetY,
372
+ translateStyle: translateStyle,
370
373
  data: renderData,
371
374
  handleScroll: handleScroll,
372
375
  setRowHeight: setRowHeight,
373
- getTranslate: getTranslate,
374
376
  scrollToIndex: scrollToIndex,
375
377
  scrollColumnByLeft: scrollColumnByLeft,
376
378
  scrollColumnIntoView: scrollColumnIntoView
@@ -197,11 +197,6 @@ export interface SelectModeColumnFilter<DataItem> extends TableColumnFilterBase<
197
197
  * @en Whether to open the top search box
198
198
  */
199
199
  search?: boolean;
200
- /**
201
- * @cn 是否高亮命中的关键词,仅当 search 为 true 时有效
202
- * @en Whether to highlight the hit keywords
203
- */
204
- highlight?: boolean;
205
200
  };
206
201
  /**
207
202
  * @cn 筛选数据的函数
@@ -257,6 +252,15 @@ export interface TableColumnItem<DataItem> {
257
252
  * @cn 表头分组,相邻的相同 group 会生成一个新的表头
258
253
  */
259
254
  group?: string | React.ReactNode | Array<string | React.ReactNode>;
255
+ /**
256
+ * @en The group of header column, the extra props
257
+ * @cn 表头分组的额外属性
258
+ * @version 3.7.0
259
+ */
260
+ groupProps?: {
261
+ className?: string;
262
+ style?: React.CSSProperties;
263
+ };
260
264
  /**
261
265
  * @en hide the column, only work on row-expand column
262
266
  * @cn 只针对行展开列有效,表示是否隐藏该列
@@ -373,17 +377,7 @@ export interface TableColumnItem<DataItem> {
373
377
  * @en Separately set a column not to be draggable
374
378
  */
375
379
  columnResizable?: false;
376
- /**
377
- * @cn 是否需要更新单元格,dependencies是外部更新依赖项
378
- * @en Whether the cell needs to be updated, the third parameter is the external dependency
379
- * @version 3.7.0
380
- */
381
- shouldUpdate?: ShouldUpdate<DataItem>;
382
380
  }
383
- export type ShouldUpdate<T> = ((prev: T, next: T) => boolean) | {
384
- update: (prev: T, next: T) => boolean;
385
- dependencies: any[];
386
- };
387
381
  export interface TableFormatColumn<DataItem> extends TableColumnItem<DataItem> {
388
382
  index: number;
389
383
  key: string | number;
@@ -400,6 +394,10 @@ export interface TableGroupColumn {
400
394
  columns: TableHeadColumn[];
401
395
  lastFixed?: boolean;
402
396
  index: number;
397
+ groupProps?: {
398
+ className?: string;
399
+ style?: React.CSSProperties;
400
+ };
403
401
  }
404
402
  export type TableHeadColumn = TableGroupColumn | TableFormatColumn<any>;
405
403
  //# sourceMappingURL=use-table.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.type.d.ts","sourceRoot":"","sources":["use-table.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-table.type.d.ts","sourceRoot":"","sources":["use-table.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,cAAc,CAAC,IAAI;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,YAAY,EAAE,CAAC;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9F;;;OAGG;IACH,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAEhC;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IAErF;;;;OAIG;IACH,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,EACnB,cAAc,EAAE,KAAK,CAAC,SAAS,EAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,KACpB,KAAK,CAAC,SAAS,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,KAC/B,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;IACvD;;;OAGG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,KAAK,GAAG,MAAM,EACvB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,QAAQ,EAAE,EAClB,MAAM,EAAE,MAAM,KACX,IAAI,CAAC;IAEV;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IAEpC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;;;;;OAQG;IACH,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAChC;AACD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,gBAAgB,CAAC,QAAQ;IACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAC5E,KAAK,CAAC,SAAS,GACf,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB,CAAC,QAAQ;IAC7C;;;OAGG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEjD;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B,CAAC;AACF,MAAM,WAAW,sBAAsB,CAAC,QAAQ,CAAE,SAAQ,qBAAqB,CAAC,QAAQ,CAAC;IACvF;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE;QACN;;;WAGG;QACH,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QAE7B;;;;WAIG;QACH,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QAEvF;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IAEF;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,sBAAsB,CAAC,QAAQ,CAAE,SAAQ,qBAAqB,CAAC,QAAQ,CAAC;IACvF;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,IAClC,sBAAsB,CAAC,QAAQ,CAAC,GAChC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ;IACvC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAEnD;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnE;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAA;IAED;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE1D;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEpE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EACH,CAAC,CACC,KAAK,EAAE,gBAAgB,KACpB,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC,GACvE,MAAM,GACN,iBAAiB,CAAC;IAEtB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IAEpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAErC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAE9E;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ,CAAE,SAAQ,eAAe,CAAC,QAAQ,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAiBjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;;;CAurBZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAiBjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;;;CA4sBZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -20,7 +20,7 @@ import { useInputAble } from "../../common/use-input-able";
20
20
  import { getExpandVirtualData } from "../use-table/use-table-tree";
21
21
  import { usePersistFn } from "../../common/use-persist-fn";
22
22
  import { isFunc, isString, isNumber, isArray, isUnMatchedData, isOptionalDisabled } from "../../utils/is";
23
- import { devUseWarning, produce } from "../../utils";
23
+ import { devUseWarning, produce, shallowEqual } from "../../utils";
24
24
  function toArray(value) {
25
25
  if (!value) return [];
26
26
  if (!Array.isArray(value)) return [value];
@@ -125,9 +125,10 @@ var useTree = function useTree(props) {
125
125
  };
126
126
  }
127
127
  if (virtual) {
128
+ var _context$dataFlatStat;
128
129
  return {
129
130
  active: isActive,
130
- expanded: context.dataFlatStatusMap.get(id).expanded
131
+ expanded: !!((_context$dataFlatStat = context.dataFlatStatusMap.get(id)) !== null && _context$dataFlatStat !== void 0 && _context$dataFlatStat.expanded)
131
132
  };
132
133
  }
133
134
  return {
@@ -138,11 +139,12 @@ var useTree = function useTree(props) {
138
139
 
139
140
  // 注册节点
140
141
  var bindVirtualNode = function bindVirtualNode(id, update) {
142
+ var _context$dataFlatStat2;
141
143
  context.updateMap.set(id, update);
142
144
  var isActive = activeProp === id;
143
145
  return {
144
146
  active: isActive,
145
- expanded: context.dataFlatStatusMap.get(id).expanded
147
+ expanded: !!((_context$dataFlatStat2 = context.dataFlatStatusMap.get(id)) !== null && _context$dataFlatStat2 !== void 0 && _context$dataFlatStat2.expanded)
146
148
  };
147
149
  };
148
150
  var get = function get(id) {
@@ -514,7 +516,7 @@ var useTree = function useTree(props) {
514
516
  var appendChildrenExpanded = function appendChildrenExpanded(child, level, pid, insertData) {
515
517
  if (!child) return;
516
518
  child.forEach(function (item, i) {
517
- var _context$dataFlatStat;
519
+ var _context$dataFlatStat3;
518
520
  var childId = getKey(item, pid, i);
519
521
  var node = {
520
522
  id: childId,
@@ -523,7 +525,7 @@ var useTree = function useTree(props) {
523
525
  pid: pid
524
526
  };
525
527
  insertData.push(node);
526
- if ((_context$dataFlatStat = context.dataFlatStatusMap.get(childId)) !== null && _context$dataFlatStat !== void 0 && _context$dataFlatStat.expanded && item[childrenKey]) {
528
+ if ((_context$dataFlatStat3 = context.dataFlatStatusMap.get(childId)) !== null && _context$dataFlatStat3 !== void 0 && _context$dataFlatStat3.expanded && item[childrenKey]) {
527
529
  appendChildrenExpanded(item[childrenKey], level + 1, childId, insertData);
528
530
  }
529
531
  });
@@ -606,6 +608,16 @@ var useTree = function useTree(props) {
606
608
  var getFlatData = function getFlatData() {
607
609
  return context.dataFlat;
608
610
  };
611
+ var updateExpanded = usePersistFn(function (expanded) {
612
+ var tempExpandMap = new Set(expanded);
613
+ if (!expanded) return;
614
+ if (virtual) {
615
+ expandedFlat(expanded);
616
+ }
617
+ context.updateMap.forEach(function (update, id) {
618
+ update('expanded', tempExpandMap.has(id));
619
+ });
620
+ });
609
621
  useEffect(function () {
610
622
  if (defaultExpandAll) {
611
623
  var nextExpanded = [];
@@ -621,8 +633,13 @@ var useTree = function useTree(props) {
621
633
  if (props.datum) return;
622
634
  if (!dataUpdate) return;
623
635
  setData(data);
636
+ var nextExpanded = props.expanded || props.defaultExpanded || [];
637
+ if (!shallowEqual(nextExpanded, expanded)) {
638
+ onExpand(nextExpanded);
639
+ updateExpanded(nextExpanded);
640
+ }
624
641
  updateInnerCheckStatus();
625
- }, [data]);
642
+ }, [props.data]);
626
643
  useEffect(function () {
627
644
  if (props.datum) return;
628
645
  setValue(value);
@@ -647,16 +664,17 @@ var useTree = function useTree(props) {
647
664
  getChecked: getChecked,
648
665
  getKey: getKey,
649
666
  getFlatData: getFlatData,
667
+ getDataById: getDataById,
650
668
  getDataByValues: getDataByValues,
651
669
  setValue: setValue,
652
670
  setData: setData,
653
671
  isDisabled: isDisabled,
672
+ isUnMatched: isUnMatched,
654
673
  bindNode: bindNode,
655
674
  bindVirtualNode: bindVirtualNode,
656
- getDataById: getDataById,
657
675
  bindUpdate: bindUpdate,
658
676
  unBindUpdate: unBindUpdate,
659
- isUnMatched: isUnMatched,
677
+ updateExpanded: updateExpanded,
660
678
  childrenKey: childrenKey,
661
679
  data: data,
662
680
  dataFlat: dataFlat,
@@ -169,5 +169,6 @@ export interface TreeDatum<DataItem> {
169
169
  dataMap: Map<KeygenResult, DataItem>;
170
170
  valueMap: Map<KeygenResult, CheckedStatusType>;
171
171
  dataFlatStatusMap: Map<KeygenResult, FlatMapType>;
172
+ updateExpanded: (expanded?: KeygenResult[]) => void;
172
173
  }
173
174
  //# sourceMappingURL=use-tree.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,YAAY,CAAC,QAAQ,IAAI;IACnC,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,iBAAiB,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAClD,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC/C,iBAAiB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzC,cAAc,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ;IACrC;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B;;;OAGG;IACH,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9E;;;;OAIG;IACH,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS,CAAC,QAAQ;IACjC,GAAG,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,iBAAiB,GAAG,SAAS,CAAC;IACzD,GAAG,EAAE,CACH,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,KACvB,iBAAiB,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,YAAY,GAAG,SAAS,CAAC;IACxD,QAAQ,EAAE,MAAM,YAAY,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,eAAe,CAAC;IAC5D,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC;IAC5E,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,KAAK,QAAQ,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IAClG,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC;IAC1C,QAAQ,EAAE,CACR,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,KACX;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,eAAe,EAAE,CACf,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,KACX;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,WAAW,EAAE,CACX,EAAE,EAAE,YAAY,KACb,QAAQ,GAAG;QAAE,oBAAoB,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACrF,UAAU,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC3D,YAAY,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IACpC,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC/C,iBAAiB,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CACnD"}
1
+ {"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-upload.d.ts","sourceRoot":"","sources":["use-upload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAgC1E,QAAA,MAAM,SAAS;;;;;;0BAuL+B,IAAI,EAAE;yBAqEb,MAAM;6BAqBF,MAAM;8BAqBL,MAAM;;CA2BjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-upload.d.ts","sourceRoot":"","sources":["use-upload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAiC1E,QAAA,MAAM,SAAS;;;;;;0BAgM+B,IAAI,EAAE;yBAoFb,MAAM;6BAqBF,MAAM;8BAqBL,MAAM;;CA2BjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -58,11 +58,12 @@ var promised = function promised(action) {
58
58
  resolve(true);
59
59
  });
60
60
  };
61
+ var defaultValue = [];
61
62
  var useUpload = function useUpload(props) {
62
63
  var _props$limit = props.limit,
63
64
  limit = _props$limit === void 0 ? 100 : _props$limit,
64
65
  _props$value = props.value,
65
- value = _props$value === void 0 ? [] : _props$value;
66
+ value = _props$value === void 0 ? defaultValue : _props$value;
66
67
  var accept = props.forceAccept || props.accept;
67
68
  var forceAccept = !!props.forceAccept;
68
69
  var _useState = useState({}),
@@ -182,21 +183,22 @@ var useUpload = function useUpload(props) {
182
183
  responseType: props.responseType,
183
184
  onStart: props.onStart,
184
185
  onProgress: function onProgress(e, msg) {
185
- if (throttle) return;
186
+ var percent = typeof e.percent === 'number' ? e.percent : e.loaded / e.total * 100;
187
+ if (throttle && percent !== 100) return;
186
188
  throttle = true;
187
189
  setTimeout(function () {
188
190
  throttle = false;
189
191
  }, 16);
190
- var percent = typeof e.percent === 'number' ? e.percent : e.loaded / e.total * 100;
191
- var filesState = latestState.filesState;
192
- var newFiles = _objectSpread({}, filesState);
193
- if (!newFiles[id]) return;
194
- newFiles[id].process = percent;
195
- if (msg) newFiles[id].message = msg;
196
- setFiles(newFiles);
197
- if (typeof props.onProgress === 'function') {
198
- props.onProgress(newFiles[id]);
199
- }
192
+ setFiles(function (files) {
193
+ return produce(files, function (draft) {
194
+ if (!draft[id]) return draft;
195
+ draft[id].process = percent;
196
+ if (msg) draft[id].message = msg;
197
+ if (typeof props.onProgress === 'function') {
198
+ props.onProgress(draft[id]);
199
+ }
200
+ });
201
+ });
200
202
  },
201
203
  onLoad: function onLoad(xhr) {
202
204
  if (!/^2|1223/.test("".concat(xhr.status))) {
@@ -224,11 +226,17 @@ var useUpload = function useUpload(props) {
224
226
  delete draft[id];
225
227
  });
226
228
  });
227
- // add value
228
- var values = produce(latestState.value, function (draft) {
229
- draft.push(result);
230
- });
231
- props.onChange(values);
229
+ if (props.functionalOnChange) {
230
+ // 回调型 setState不会丢值
231
+ props.onChange(function (prev) {
232
+ return [].concat(_toConsumableArray(prev || []), [result]);
233
+ });
234
+ } else {
235
+ var latestValue = latestState.value;
236
+ var newValue = _toConsumableArray(latestValue);
237
+ newValue.push(result);
238
+ props.onChange(newValue);
239
+ }
232
240
  }
233
241
  },
234
242
  onError: function onError(xhr) {
@@ -346,48 +354,60 @@ var useUpload = function useUpload(props) {
346
354
  error = _context2.sent;
347
355
  case 21:
348
356
  if (!(error instanceof Error)) {
349
- _context2.next = 30;
357
+ _context2.next = 29;
350
358
  break;
351
359
  }
352
360
  if (validatorHandle(error, blob)) {
353
- _context2.next = 26;
361
+ _context2.next = 25;
354
362
  break;
355
363
  }
356
- delete newFiles[id];
357
- setFiles(_objectSpread({}, newFiles));
364
+ setFiles(function (prev) {
365
+ return produce(prev, function (draft) {
366
+ delete draft[id];
367
+ });
368
+ });
358
369
  return _context2.abrupt("return", 0);
359
- case 26:
370
+ case 25:
360
371
  fileRecord.message = error.message;
361
372
  fileRecord.status = 3;
362
- setFiles(_objectSpread({}, newFiles));
373
+ setFiles(function (prev) {
374
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, fileRecord));
375
+ });
363
376
  return _context2.abrupt("return", 0);
364
- case 30:
377
+ case 29:
365
378
  if (!props.beforeUpload) {
366
- _context2.next = 37;
379
+ _context2.next = 36;
367
380
  break;
368
381
  }
369
382
  beforeUploadResult = props.beforeUpload(blob); // @ts-ignoreq
370
383
  if (!(beforeUploadResult && beforeUploadResult.then)) {
371
- _context2.next = 35;
384
+ _context2.next = 34;
372
385
  break;
373
386
  }
374
387
  props.beforeUpload(blob).then(function (args) {
375
388
  if (args.status !== 'error') {
376
389
  newFiles[id].xhr = uploadFile(id, blob, fileRecord.src);
377
- setFiles(_objectSpread({}, newFiles));
390
+ setFiles(function (prev) {
391
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, fileRecord));
392
+ });
378
393
  }
379
394
  }).catch(function () {
380
- delete newFiles[id];
381
- setFiles(_objectSpread({}, newFiles));
395
+ setFiles(function (prev) {
396
+ return produce(prev, function (draft) {
397
+ delete draft[id];
398
+ });
399
+ });
382
400
  });
383
401
  return _context2.abrupt("return", 0);
384
- case 35:
385
- _context2.next = 39;
402
+ case 34:
403
+ _context2.next = 38;
386
404
  break;
387
- case 37:
405
+ case 36:
388
406
  fileRecord.xhr = uploadFile(id, blob, fileRecord.src);
389
- setFiles(_objectSpread({}, newFiles));
390
- case 39:
407
+ setFiles(function (prev) {
408
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, fileRecord));
409
+ });
410
+ case 38:
391
411
  case "end":
392
412
  return _context2.stop();
393
413
  }
@@ -166,6 +166,13 @@ export interface UseUploadProps<ValueItem = any> {
166
166
  forceAcceptErrorMsg: string;
167
167
  invalidImage: string;
168
168
  };
169
+ /**
170
+ * @cn 设置为true后,组件的onChange参数会返回函数,即回调函数方式的setState
171
+ * @en After setting to true, the onChange parameter of the component will return a function, that is, the setState of the callback function
172
+ * @default false
173
+ * @version 3.6.5
174
+ */
175
+ functionalOnChange?: boolean;
169
176
  }
170
177
  export interface Validator {
171
178
  /**