@sheinx/base 3.8.0-beta.16 → 3.8.0-beta.17

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 (41) hide show
  1. package/cjs/config/locale/en_US.d.ts +1 -0
  2. package/cjs/config/locale/en_US.d.ts.map +1 -1
  3. package/cjs/config/locale/en_US.js +1 -0
  4. package/cjs/config/locale/zh-CN.d.ts +1 -0
  5. package/cjs/config/locale/zh-CN.d.ts.map +1 -1
  6. package/cjs/config/locale/zh-CN.js +1 -0
  7. package/cjs/date-picker/time.d.ts.map +1 -1
  8. package/cjs/date-picker/time.js +2 -1
  9. package/cjs/form/form-fieldset.d.ts.map +1 -1
  10. package/cjs/form/form-fieldset.js +12 -2
  11. package/cjs/select/result-more.js +1 -1
  12. package/cjs/table/table.d.ts.map +1 -1
  13. package/cjs/table/table.js +30 -5
  14. package/cjs/tabs/tabs-header.d.ts.map +1 -1
  15. package/cjs/tabs/tabs-header.js +18 -11
  16. package/cjs/upload/useInputClick.d.ts +1 -0
  17. package/cjs/upload/useInputClick.d.ts.map +1 -1
  18. package/cjs/upload/useInputClick.js +4 -0
  19. package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -1
  20. package/cjs/virtual-scroll/scroll-table.js +6 -2
  21. package/esm/config/locale/en_US.d.ts +1 -0
  22. package/esm/config/locale/en_US.d.ts.map +1 -1
  23. package/esm/config/locale/en_US.js +1 -0
  24. package/esm/config/locale/zh-CN.d.ts +1 -0
  25. package/esm/config/locale/zh-CN.d.ts.map +1 -1
  26. package/esm/config/locale/zh-CN.js +1 -0
  27. package/esm/date-picker/time.d.ts.map +1 -1
  28. package/esm/date-picker/time.js +2 -1
  29. package/esm/form/form-fieldset.d.ts.map +1 -1
  30. package/esm/form/form-fieldset.js +12 -2
  31. package/esm/select/result-more.js +1 -1
  32. package/esm/table/table.d.ts.map +1 -1
  33. package/esm/table/table.js +31 -6
  34. package/esm/tabs/tabs-header.d.ts.map +1 -1
  35. package/esm/tabs/tabs-header.js +18 -11
  36. package/esm/upload/useInputClick.d.ts +1 -0
  37. package/esm/upload/useInputClick.d.ts.map +1 -1
  38. package/esm/upload/useInputClick.js +4 -0
  39. package/esm/virtual-scroll/scroll-table.d.ts.map +1 -1
  40. package/esm/virtual-scroll/scroll-table.js +6 -2
  41. package/package.json +2 -2
@@ -60,6 +60,7 @@ declare const _default: {
60
60
  search: string;
61
61
  urlInvalidMsg: string;
62
62
  invalidAccept: string;
63
+ invalidImage: string;
63
64
  notFound: string;
64
65
  };
65
66
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"en_US.d.ts","sourceRoot":"","sources":["en_US.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuFE"}
1
+ {"version":3,"file":"en_US.d.ts","sourceRoot":"","sources":["en_US.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuFE"}
@@ -66,5 +66,6 @@ var _default = exports.default = {
66
66
  search: 'search',
67
67
  urlInvalidMsg: 'Picture format is incorrect, please upload again',
68
68
  invalidAccept: 'Invalid file format',
69
+ invalidImage: 'Invalid image format',
69
70
  notFound: 'not found'
70
71
  };
@@ -60,6 +60,7 @@ declare const _default: {
60
60
  search: string;
61
61
  urlInvalidMsg: string;
62
62
  invalidAccept: string;
63
+ invalidImage: string;
63
64
  notFound: string;
64
65
  };
65
66
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["zh-CN.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwFE"}
1
+ {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["zh-CN.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwFE"}
@@ -66,5 +66,6 @@ var _default = exports.default = {
66
66
  search: '搜索',
67
67
  urlInvalidMsg: '图片格式不正确,请重新上传',
68
68
  invalidAccept: '文件格式不正确',
69
+ invalidImage: '图片格式不正确',
69
70
  notFound: '未找到'
70
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["time.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8GxC,QAAA,MAAM,IAAI,UAAW,SAAS,4CAuF7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["time.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8GxC,QAAA,MAAM,IAAI,UAAW,SAAS,4CA2F7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -151,6 +151,7 @@ var Time = function Time(props) {
151
151
  })]
152
152
  });
153
153
  };
154
+ var shouldRenderTimes = times && times.length > 0;
154
155
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
155
156
  onMouseEnter: props.onMouseEnter,
156
157
  onMouseLeave: props.onMouseLeave,
@@ -159,7 +160,7 @@ var Time = function Time(props) {
159
160
  children: [props.showTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_pickerTitle.default, {
160
161
  position: props.position,
161
162
  jssStyle: props.jssStyle
162
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
163
+ }), shouldRenderTimes && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
163
164
  className: styles === null || styles === void 0 ? void 0 : styles.pickerBody,
164
165
  children: times.map(function (item) {
165
166
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(TimeScroll, {
@@ -1 +1 @@
1
- {"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,yCA6FjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,yCAuGjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -94,8 +94,13 @@ var FormFieldSet = function FormFieldSet(props) {
94
94
  },
95
95
  onInsert: function onInsert(val) {
96
96
  var oldValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
97
+ var insertValue = val;
98
+ var valueTemplate = oldValue[i];
99
+ if (insertValue === undefined) {
100
+ insertValue = _hooks.util.clearValue(_hooks.util.deepClone(valueTemplate));
101
+ }
97
102
  var newValue = produce(oldValue, function (draft) {
98
- draft.splice(i, 0, val);
103
+ draft.splice(i, 0, insertValue);
99
104
  });
100
105
  _onChange(newValue);
101
106
  // context.ids.splice(i, 0, util.generateUUID());
@@ -103,8 +108,13 @@ var FormFieldSet = function FormFieldSet(props) {
103
108
  },
104
109
  onAppend: function onAppend(val) {
105
110
  var oldValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
111
+ var insertValue = val;
112
+ var valueTemplate = oldValue[i];
113
+ if (insertValue === undefined) {
114
+ insertValue = _hooks.util.clearValue(_hooks.util.deepClone(valueTemplate));
115
+ }
106
116
  var newValue = produce(oldValue, function (draft) {
107
- draft.splice(i + 1, 0, val);
117
+ draft.splice(i + 1, 0, insertValue);
108
118
  });
109
119
  _onChange(newValue);
110
120
  // context.ids.splice(i + 1, 0, util.generateUUID());
@@ -28,7 +28,7 @@ function getResetMore(onFilter, container, doms) {
28
28
  var paddingLeft = (0, _hooks.parsePxToNumber)(style.paddingLeft);
29
29
  var paddingRight = (0, _hooks.parsePxToNumber)(style.paddingRight);
30
30
  var minFilterWidth = onFilter ? 16 : 0;
31
- var contentWidth = clientWidth - paddingLeft - paddingRight - minFilterWidth - 1;
31
+ var contentWidth = clientWidth - paddingLeft - paddingRight - minFilterWidth;
32
32
  var hideEl = items.pop();
33
33
  var hideElStyle = getComputedStyle(hideEl);
34
34
  var hideMargin = (0, _hooks.parsePxToNumber)(hideElStyle.marginLeft) + (0, _hooks.parsePxToNumber)(hideElStyle.marginRight);
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAqqBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAgsBE"}
@@ -93,7 +93,8 @@ var _default = exports.default = function _default(props) {
93
93
  };
94
94
  var _useRef = (0, _react.useRef)({
95
95
  emptyHeight: 0,
96
- theadAndTfootHeight: 0,
96
+ theadHeight: 0,
97
+ tfootHeight: 0,
97
98
  scrollingTimer: null
98
99
  }),
99
100
  context = _useRef.current;
@@ -226,15 +227,38 @@ var _default = exports.default = function _default(props) {
226
227
  onChange: inputableData.onChange,
227
228
  disabled: props.disabled
228
229
  });
229
- (0, _react.useEffect)(function () {
230
+ var handleTheadAndTfootHeight = (0, _hooks.usePersistFn)(function () {
230
231
  var _theadRef$current, _tfootRef$current;
231
232
  var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
232
233
  var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
233
234
  if (props.sticky) {
234
- context.theadAndTfootHeight = tfootHeight;
235
+ context.tfootHeight = tfootHeight;
235
236
  } else {
236
- context.theadAndTfootHeight = theadHeight + tfootHeight;
237
+ context.theadHeight = theadHeight;
238
+ context.tfootHeight = tfootHeight;
239
+ }
240
+ });
241
+ (0, _react.useEffect)(function () {
242
+ handleTheadAndTfootHeight();
243
+ var cancelFunc1;
244
+ if (theadRef !== null && theadRef !== void 0 && theadRef.current) {
245
+ cancelFunc1 = (0, _hooks.addResizeObserver)(theadRef === null || theadRef === void 0 ? void 0 : theadRef.current, handleTheadAndTfootHeight, {
246
+ direction: 'y',
247
+ timer: 10
248
+ });
237
249
  }
250
+ var cancelFunc2;
251
+ if (tfootRef !== null && tfootRef !== void 0 && tfootRef.current) {
252
+ cancelFunc2 = (0, _hooks.addResizeObserver)(tfootRef === null || tfootRef === void 0 ? void 0 : tfootRef.current, handleTheadAndTfootHeight, {
253
+ direction: 'y',
254
+ timer: 10
255
+ });
256
+ }
257
+ return function () {
258
+ var _cancelFunc, _cancelFunc2;
259
+ (_cancelFunc = cancelFunc1) === null || _cancelFunc === void 0 || _cancelFunc();
260
+ (_cancelFunc2 = cancelFunc2) === null || _cancelFunc2 === void 0 || _cancelFunc2();
261
+ };
238
262
  }, [theadRef.current, tfootRef.current]);
239
263
  var virtualInfo = (0, _hooks.useTableVirtual)({
240
264
  disabled: !virtual,
@@ -247,7 +271,8 @@ var _default = exports.default = function _default(props) {
247
271
  innerRef: tbodyRef,
248
272
  scrollLeft: props.scrollLeft,
249
273
  isRtl: isRtl,
250
- theadAndTfootHeight: context.theadAndTfootHeight
274
+ theadHeight: context.theadHeight,
275
+ tfootHeight: context.tfootHeight
251
276
  });
252
277
  var syncHeaderScroll = (0, _hooks.usePersistFn)(function (left) {
253
278
  var _tableRef$current;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,4CAmQzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,4CAuQzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -127,36 +127,43 @@ var TabsHeader = function TabsHeader(props) {
127
127
  _useState2 = _slicedToArray(_useState, 2),
128
128
  currentTabOffset = _useState2[0],
129
129
  setCurrentTabOffset = _useState2[1];
130
- var _useState3 = (0, _react.useState)(null),
130
+ var _useState3 = (0, _react.useState)({
131
+ width: 0,
132
+ height: 0
133
+ }),
131
134
  _useState4 = _slicedToArray(_useState3, 2),
132
- currentTabRect = _useState4[0],
133
- setCurrentTabRect = _useState4[1];
135
+ currentTabSize = _useState4[0],
136
+ setCurrentTabSize = _useState4[1];
134
137
  (0, _react.useLayoutEffect)(function () {
135
- var _currentTab$getBoundi;
136
138
  if (shape !== 'line' && shape !== 'dash') return;
137
139
  var currentTab = tabRef.current[active];
138
140
  setCurrentTabOffset({
139
141
  offsetTop: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetTop) || 0,
140
142
  offsetLeft: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetLeft) || 0
141
143
  });
142
- var currentTabRect = currentTab === null || currentTab === void 0 || (_currentTab$getBoundi = currentTab.getBoundingClientRect) === null || _currentTab$getBoundi === void 0 ? void 0 : _currentTab$getBoundi.call(currentTab);
143
- setCurrentTabRect(currentTabRect);
144
+
145
+ // 使用 offsetWidth/offsetHeight 而不是 getBoundingClientRect()
146
+ // 这样可以避免受到外部容器 CSS transform scale 的影响
147
+ setCurrentTabSize({
148
+ width: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetWidth) || 0,
149
+ height: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetHeight) || 0
150
+ });
144
151
  }, [active, tabs]);
145
152
  var renderHeaderScrollBar = function renderHeaderScrollBar() {
146
153
  if (shape !== 'line' && shape !== 'dash') return;
147
- if (!currentTabRect) return;
154
+ if (!currentTabSize.width || !currentTabSize.height) return;
148
155
  var scrollBarStyle = isVertical ? {
149
156
  right: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('left') ? 0 : 'auto',
150
157
  left: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('right') ? 0 : 'auto',
151
- top: currentTabOffset.offsetTop + currentTabRect.height / 2,
152
- height: shape === 'line' ? currentTabRect.height : 24,
158
+ top: currentTabOffset.offsetTop + currentTabSize.height / 2,
159
+ height: shape === 'line' ? currentTabSize.height : 24,
153
160
  width: 2,
154
161
  transform: 'translateY(-50%)'
155
162
  } : {
156
163
  bottom: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('top') ? 0 : 'auto',
157
164
  top: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('bottom') ? 0 : 'auto',
158
- left: currentTabOffset.offsetLeft + currentTabRect.width / 2,
159
- width: shape === 'line' ? currentTabRect.width : 24,
165
+ left: currentTabOffset.offsetLeft + currentTabSize.width / 2,
166
+ width: shape === 'line' ? currentTabSize.width : 24,
160
167
  height: 2,
161
168
  transform: 'translateX(-50%)'
162
169
  };
@@ -6,6 +6,7 @@ export declare const useInputClick: () => {
6
6
  style: {
7
7
  display: string;
8
8
  };
9
+ onClick: (event: React.MouseEvent) => void;
9
10
  };
10
11
  wrapperProps: {
11
12
  onClick: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useInputClick.d.ts","sourceRoot":"","sources":["useInputClick.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;CAyBzB,CAAC"}
1
+ {"version":3,"file":"useInputClick.d.ts","sourceRoot":"","sources":["useInputClick.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,aAAa;;;;;;;yBAOL,gBAAgB;;;;;CAsBpC,CAAC"}
@@ -16,6 +16,10 @@ var useInputClick = exports.useInputClick = function useInputClick() {
16
16
  type: 'file',
17
17
  style: {
18
18
  display: 'none'
19
+ },
20
+ onClick: function onClick(event) {
21
+ // 阻止程序化触发(inputRef.current.click())的input点击事件冒泡
22
+ event.stopPropagation();
19
23
  }
20
24
  };
21
25
  var wrapperProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CAoJjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CAwJjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -30,7 +30,8 @@ var Scroll = function Scroll(props) {
30
30
  var wrapperRef = (0, _hooks.useForkRef)(scrollRef, props.wrapperRef);
31
31
  var _useRef = (0, _react.useRef)({
32
32
  isMouseDown: false,
33
- lastTableHeight: 0
33
+ lastTableHeight: 0,
34
+ unmounted: false
34
35
  }),
35
36
  context = _useRef.current;
36
37
  var _props$scrollHeight = props.scrollHeight,
@@ -139,7 +140,7 @@ var Scroll = function Scroll(props) {
139
140
 
140
141
  // 非定高的Table但依旧采用了virtual渲染方式,需要渲染出全部的data
141
142
  (0, _react.useLayoutEffect)(function () {
142
- if (!props.tableRef.current) return;
143
+ if (!props.tableRef.current || context.unmounted) return;
143
144
  var rootTableHeight = props.tableRef.current.clientHeight;
144
145
  var container = containerRef.current;
145
146
  // 判断内容滚动高度是否真的超过了容器高度
@@ -151,6 +152,9 @@ var Scroll = function Scroll(props) {
151
152
  } else {
152
153
  context.lastTableHeight = rootTableHeight;
153
154
  }
155
+ return function () {
156
+ context.unmounted = true;
157
+ };
154
158
  }, [paddingTop]);
155
159
  if (props.isEmpty) {
156
160
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, scrollRoleProps), {}, {
@@ -60,6 +60,7 @@ declare const _default: {
60
60
  search: string;
61
61
  urlInvalidMsg: string;
62
62
  invalidAccept: string;
63
+ invalidImage: string;
63
64
  notFound: string;
64
65
  };
65
66
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"en_US.d.ts","sourceRoot":"","sources":["en_US.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuFE"}
1
+ {"version":3,"file":"en_US.d.ts","sourceRoot":"","sources":["en_US.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuFE"}
@@ -60,5 +60,6 @@ export default {
60
60
  search: 'search',
61
61
  urlInvalidMsg: 'Picture format is incorrect, please upload again',
62
62
  invalidAccept: 'Invalid file format',
63
+ invalidImage: 'Invalid image format',
63
64
  notFound: 'not found'
64
65
  };
@@ -60,6 +60,7 @@ declare const _default: {
60
60
  search: string;
61
61
  urlInvalidMsg: string;
62
62
  invalidAccept: string;
63
+ invalidImage: string;
63
64
  notFound: string;
64
65
  };
65
66
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["zh-CN.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwFE"}
1
+ {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["zh-CN.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwFE"}
@@ -60,5 +60,6 @@ export default {
60
60
  search: '搜索',
61
61
  urlInvalidMsg: '图片格式不正确,请重新上传',
62
62
  invalidAccept: '文件格式不正确',
63
+ invalidImage: '图片格式不正确',
63
64
  notFound: '未找到'
64
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["time.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8GxC,QAAA,MAAM,IAAI,UAAW,SAAS,4CAuF7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["time.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8GxC,QAAA,MAAM,IAAI,UAAW,SAAS,4CA2F7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -142,6 +142,7 @@ var Time = function Time(props) {
142
142
  })]
143
143
  });
144
144
  };
145
+ var shouldRenderTimes = times && times.length > 0;
145
146
  return /*#__PURE__*/_jsxs("div", {
146
147
  onMouseEnter: props.onMouseEnter,
147
148
  onMouseLeave: props.onMouseLeave,
@@ -150,7 +151,7 @@ var Time = function Time(props) {
150
151
  children: [props.showTitle && /*#__PURE__*/_jsx(PickerTitle, {
151
152
  position: props.position,
152
153
  jssStyle: props.jssStyle
153
- }), /*#__PURE__*/_jsx("div", {
154
+ }), shouldRenderTimes && /*#__PURE__*/_jsx("div", {
154
155
  className: styles === null || styles === void 0 ? void 0 : styles.pickerBody,
155
156
  children: times.map(function (item) {
156
157
  return /*#__PURE__*/_jsx(TimeScroll, {
@@ -1 +1 @@
1
- {"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,yCA6FjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,yCAuGjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -87,8 +87,13 @@ var FormFieldSet = function FormFieldSet(props) {
87
87
  },
88
88
  onInsert: function onInsert(val) {
89
89
  var oldValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
90
+ var insertValue = val;
91
+ var valueTemplate = oldValue[i];
92
+ if (insertValue === undefined) {
93
+ insertValue = util.clearValue(util.deepClone(valueTemplate));
94
+ }
90
95
  var newValue = produce(oldValue, function (draft) {
91
- draft.splice(i, 0, val);
96
+ draft.splice(i, 0, insertValue);
92
97
  });
93
98
  _onChange(newValue);
94
99
  // context.ids.splice(i, 0, util.generateUUID());
@@ -96,8 +101,13 @@ var FormFieldSet = function FormFieldSet(props) {
96
101
  },
97
102
  onAppend: function onAppend(val) {
98
103
  var oldValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
104
+ var insertValue = val;
105
+ var valueTemplate = oldValue[i];
106
+ if (insertValue === undefined) {
107
+ insertValue = util.clearValue(util.deepClone(valueTemplate));
108
+ }
99
109
  var newValue = produce(oldValue, function (draft) {
100
- draft.splice(i + 1, 0, val);
110
+ draft.splice(i + 1, 0, insertValue);
101
111
  });
102
112
  _onChange(newValue);
103
113
  // context.ids.splice(i + 1, 0, util.generateUUID());
@@ -18,7 +18,7 @@ export function getResetMore(onFilter, container, doms) {
18
18
  var paddingLeft = parsePxToNumber(style.paddingLeft);
19
19
  var paddingRight = parsePxToNumber(style.paddingRight);
20
20
  var minFilterWidth = onFilter ? 16 : 0;
21
- var contentWidth = clientWidth - paddingLeft - paddingRight - minFilterWidth - 1;
21
+ var contentWidth = clientWidth - paddingLeft - paddingRight - minFilterWidth;
22
22
  var hideEl = items.pop();
23
23
  var hideElStyle = getComputedStyle(hideEl);
24
24
  var hideMargin = parsePxToNumber(hideElStyle.marginLeft) + parsePxToNumber(hideElStyle.marginRight);
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAqqBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAgsBE"}
@@ -22,7 +22,7 @@ import AbsoluteContext from "../absolute-list/absolute-context";
22
22
  import Empty from "../empty";
23
23
  import Sticky, { defaultZIndex } from "../sticky";
24
24
  import { useConfig } from "../config";
25
- import { useTableLayout, useTableColumns, useTableFilter, useTableSort, useTableTree, usePersistFn, useListSelect, useInputAble, useTableVirtual, usePaginationList, useLatestObj, useResize, useScrollbarWidth, util } from '@sheinx/hooks';
25
+ import { useTableLayout, useTableColumns, useTableFilter, useTableSort, useTableTree, usePersistFn, useListSelect, useInputAble, useTableVirtual, usePaginationList, useLatestObj, useResize, useScrollbarWidth, util, addResizeObserver } from '@sheinx/hooks';
26
26
  import useTableSelect from "./use-table-select";
27
27
  import Colgroup from "./colgroup";
28
28
  import Thead from "./thead";
@@ -86,7 +86,8 @@ export default (function (props) {
86
86
  };
87
87
  var _useRef = useRef({
88
88
  emptyHeight: 0,
89
- theadAndTfootHeight: 0,
89
+ theadHeight: 0,
90
+ tfootHeight: 0,
90
91
  scrollingTimer: null
91
92
  }),
92
93
  context = _useRef.current;
@@ -219,15 +220,38 @@ export default (function (props) {
219
220
  onChange: inputableData.onChange,
220
221
  disabled: props.disabled
221
222
  });
222
- useEffect(function () {
223
+ var handleTheadAndTfootHeight = usePersistFn(function () {
223
224
  var _theadRef$current, _tfootRef$current;
224
225
  var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
225
226
  var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
226
227
  if (props.sticky) {
227
- context.theadAndTfootHeight = tfootHeight;
228
+ context.tfootHeight = tfootHeight;
228
229
  } else {
229
- context.theadAndTfootHeight = theadHeight + tfootHeight;
230
+ context.theadHeight = theadHeight;
231
+ context.tfootHeight = tfootHeight;
232
+ }
233
+ });
234
+ useEffect(function () {
235
+ handleTheadAndTfootHeight();
236
+ var cancelFunc1;
237
+ if (theadRef !== null && theadRef !== void 0 && theadRef.current) {
238
+ cancelFunc1 = addResizeObserver(theadRef === null || theadRef === void 0 ? void 0 : theadRef.current, handleTheadAndTfootHeight, {
239
+ direction: 'y',
240
+ timer: 10
241
+ });
230
242
  }
243
+ var cancelFunc2;
244
+ if (tfootRef !== null && tfootRef !== void 0 && tfootRef.current) {
245
+ cancelFunc2 = addResizeObserver(tfootRef === null || tfootRef === void 0 ? void 0 : tfootRef.current, handleTheadAndTfootHeight, {
246
+ direction: 'y',
247
+ timer: 10
248
+ });
249
+ }
250
+ return function () {
251
+ var _cancelFunc, _cancelFunc2;
252
+ (_cancelFunc = cancelFunc1) === null || _cancelFunc === void 0 || _cancelFunc();
253
+ (_cancelFunc2 = cancelFunc2) === null || _cancelFunc2 === void 0 || _cancelFunc2();
254
+ };
231
255
  }, [theadRef.current, tfootRef.current]);
232
256
  var virtualInfo = useTableVirtual({
233
257
  disabled: !virtual,
@@ -240,7 +264,8 @@ export default (function (props) {
240
264
  innerRef: tbodyRef,
241
265
  scrollLeft: props.scrollLeft,
242
266
  isRtl: isRtl,
243
- theadAndTfootHeight: context.theadAndTfootHeight
267
+ theadHeight: context.theadHeight,
268
+ tfootHeight: context.tfootHeight
244
269
  });
245
270
  var syncHeaderScroll = usePersistFn(function (left) {
246
271
  var _tableRef$current;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,4CAmQzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,4CAuQzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -121,36 +121,43 @@ var TabsHeader = function TabsHeader(props) {
121
121
  _useState2 = _slicedToArray(_useState, 2),
122
122
  currentTabOffset = _useState2[0],
123
123
  setCurrentTabOffset = _useState2[1];
124
- var _useState3 = useState(null),
124
+ var _useState3 = useState({
125
+ width: 0,
126
+ height: 0
127
+ }),
125
128
  _useState4 = _slicedToArray(_useState3, 2),
126
- currentTabRect = _useState4[0],
127
- setCurrentTabRect = _useState4[1];
129
+ currentTabSize = _useState4[0],
130
+ setCurrentTabSize = _useState4[1];
128
131
  useLayoutEffect(function () {
129
- var _currentTab$getBoundi;
130
132
  if (shape !== 'line' && shape !== 'dash') return;
131
133
  var currentTab = tabRef.current[active];
132
134
  setCurrentTabOffset({
133
135
  offsetTop: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetTop) || 0,
134
136
  offsetLeft: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetLeft) || 0
135
137
  });
136
- var currentTabRect = currentTab === null || currentTab === void 0 || (_currentTab$getBoundi = currentTab.getBoundingClientRect) === null || _currentTab$getBoundi === void 0 ? void 0 : _currentTab$getBoundi.call(currentTab);
137
- setCurrentTabRect(currentTabRect);
138
+
139
+ // 使用 offsetWidth/offsetHeight 而不是 getBoundingClientRect()
140
+ // 这样可以避免受到外部容器 CSS transform scale 的影响
141
+ setCurrentTabSize({
142
+ width: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetWidth) || 0,
143
+ height: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.offsetHeight) || 0
144
+ });
138
145
  }, [active, tabs]);
139
146
  var renderHeaderScrollBar = function renderHeaderScrollBar() {
140
147
  if (shape !== 'line' && shape !== 'dash') return;
141
- if (!currentTabRect) return;
148
+ if (!currentTabSize.width || !currentTabSize.height) return;
142
149
  var scrollBarStyle = isVertical ? {
143
150
  right: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('left') ? 0 : 'auto',
144
151
  left: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('right') ? 0 : 'auto',
145
- top: currentTabOffset.offsetTop + currentTabRect.height / 2,
146
- height: shape === 'line' ? currentTabRect.height : 24,
152
+ top: currentTabOffset.offsetTop + currentTabSize.height / 2,
153
+ height: shape === 'line' ? currentTabSize.height : 24,
147
154
  width: 2,
148
155
  transform: 'translateY(-50%)'
149
156
  } : {
150
157
  bottom: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('top') ? 0 : 'auto',
151
158
  top: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('bottom') ? 0 : 'auto',
152
- left: currentTabOffset.offsetLeft + currentTabRect.width / 2,
153
- width: shape === 'line' ? currentTabRect.width : 24,
159
+ left: currentTabOffset.offsetLeft + currentTabSize.width / 2,
160
+ width: shape === 'line' ? currentTabSize.width : 24,
154
161
  height: 2,
155
162
  transform: 'translateX(-50%)'
156
163
  };
@@ -6,6 +6,7 @@ export declare const useInputClick: () => {
6
6
  style: {
7
7
  display: string;
8
8
  };
9
+ onClick: (event: React.MouseEvent) => void;
9
10
  };
10
11
  wrapperProps: {
11
12
  onClick: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useInputClick.d.ts","sourceRoot":"","sources":["useInputClick.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;CAyBzB,CAAC"}
1
+ {"version":3,"file":"useInputClick.d.ts","sourceRoot":"","sources":["useInputClick.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,aAAa;;;;;;;yBAOL,gBAAgB;;;;;CAsBpC,CAAC"}
@@ -10,6 +10,10 @@ export var useInputClick = function useInputClick() {
10
10
  type: 'file',
11
11
  style: {
12
12
  display: 'none'
13
+ },
14
+ onClick: function onClick(event) {
15
+ // 阻止程序化触发(inputRef.current.click())的input点击事件冒泡
16
+ event.stopPropagation();
13
17
  }
14
18
  };
15
19
  var wrapperProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CAoJjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CAwJjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -23,7 +23,8 @@ var Scroll = function Scroll(props) {
23
23
  var wrapperRef = useForkRef(scrollRef, props.wrapperRef);
24
24
  var _useRef = useRef({
25
25
  isMouseDown: false,
26
- lastTableHeight: 0
26
+ lastTableHeight: 0,
27
+ unmounted: false
27
28
  }),
28
29
  context = _useRef.current;
29
30
  var _props$scrollHeight = props.scrollHeight,
@@ -132,7 +133,7 @@ var Scroll = function Scroll(props) {
132
133
 
133
134
  // 非定高的Table但依旧采用了virtual渲染方式,需要渲染出全部的data
134
135
  useLayoutEffect(function () {
135
- if (!props.tableRef.current) return;
136
+ if (!props.tableRef.current || context.unmounted) return;
136
137
  var rootTableHeight = props.tableRef.current.clientHeight;
137
138
  var container = containerRef.current;
138
139
  // 判断内容滚动高度是否真的超过了容器高度
@@ -144,6 +145,9 @@ var Scroll = function Scroll(props) {
144
145
  } else {
145
146
  context.lastTableHeight = rootTableHeight;
146
147
  }
148
+ return function () {
149
+ context.unmounted = true;
150
+ };
147
151
  }, [paddingTop]);
148
152
  if (props.isEmpty) {
149
153
  return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({}, scrollRoleProps), {}, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.8.0-beta.16",
3
+ "version": "3.8.0-beta.17",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.8.0-beta.16",
13
+ "@sheinx/hooks": "3.8.0-beta.17",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.3-alpha.0"