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

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.
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyRC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BA9Jd,MAAM;oCAiOD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA8PvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAnIpD,MAAM,0BAAyB,qBAAqB;;;;;;oBAqEjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BA9Jd,MAAM;gCAiOD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA8PvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAnIpD,MAAM,0BAAyB,qBAAqB;;CAma9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA+RC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BApKd,MAAM;oCAuOD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAoQvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzIpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BApKd,MAAM;gCAuOD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAoQvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzIpD,MAAM,0BAAyB,qBAAqB;;CAua9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -494,12 +494,10 @@ var useForm = function useForm(props) {
494
494
  context.removeArr.delete(n);
495
495
  if (df !== undefined && (0, _utils.deepGet)(context.value, n) === undefined) {
496
496
  if (!context.mounted) context.defaultValues[n] = df;
497
- setTimeout(function () {
498
- onChange(function (v) {
499
- (0, _utils.deepSet)(v, n, df, deepSetOptions);
500
- });
501
- update(n);
497
+ onChange(function (v) {
498
+ (0, _utils.deepSet)(v, n, df, deepSetOptions);
502
499
  });
500
+ update(n);
503
501
  }
504
502
  },
505
503
  unbind: function unbind(n, reserveAble, validateField, update) {
@@ -24,7 +24,6 @@ declare const useTableLayout: (props: UseTableLayoutProps) => {
24
24
  width: string | number | undefined;
25
25
  shouldLastColAuto: boolean | undefined;
26
26
  scrollWidth: number;
27
- maxScrollLeft: number;
28
27
  resizeFlag: number;
29
28
  };
30
29
  export default useTableLayout;
@@ -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;AAerE,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;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -30,6 +30,34 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
30
30
  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; }
31
31
  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; } }
32
32
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+ function getDecimalAndIntegerPart(num) {
34
+ if (!num) return [0, 0];
35
+ var str = num.toString();
36
+ var dotIndex = str.indexOf('.');
37
+ if (dotIndex === -1) return [parseInt(str), 0];
38
+ var integerPart = parseInt(str.slice(0, dotIndex));
39
+ var decimalPart = parseFloat("0.".concat(str.slice(dotIndex + 1)));
40
+ return [integerPart, decimalPart];
41
+ }
42
+
43
+ // 将所有的小数部分转移到最后一列
44
+ function shiftDecimalToLastColumn(cols) {
45
+ var decimalSum = 0;
46
+ cols.forEach(function (v, i) {
47
+ var _getDecimalAndInteger = getDecimalAndIntegerPart(v),
48
+ _getDecimalAndInteger2 = _slicedToArray(_getDecimalAndInteger, 2),
49
+ inter = _getDecimalAndInteger2[0],
50
+ decimal = _getDecimalAndInteger2[1];
51
+ if (decimal > 0) {
52
+ decimalSum += decimal;
53
+ cols[i] = inter;
54
+ }
55
+ });
56
+ if (decimalSum > 0) {
57
+ cols[cols.length - 1] = Number(cols[cols.length - 1]) + decimalSum;
58
+ }
59
+ return cols;
60
+ }
33
61
  var MIN_RESIZABLE_WIDTH = 20;
34
62
  function compareColumnWidth(curCols, preCols) {
35
63
  if (curCols.length !== preCols.length) return false;
@@ -151,7 +179,7 @@ var useTableLayout = function useTableLayout(props) {
151
179
  if (cols && cols.every(function (v) {
152
180
  return v === 0;
153
181
  })) return;
154
- setColgroup(cols);
182
+ setColgroup(shiftDecimalToLastColumn(cols));
155
183
  setAdjust(adjust);
156
184
  if (!adjust) {
157
185
  updateResizeFlag();
@@ -368,7 +396,7 @@ var useTableLayout = function useTableLayout(props) {
368
396
  width: tableWidth,
369
397
  shouldLastColAuto: props.columnResizable && !adjust,
370
398
  scrollWidth: scrollWidth,
371
- maxScrollLeft: scrollWidth - context.clientWidth,
399
+ // maxScrollLeft: scrollWidth - context.clientWidth,
372
400
  resizeFlag: resizeFlag
373
401
  };
374
402
  };
@@ -24,7 +24,6 @@ export interface Row {
24
24
  declare const useTableRow: (props: TableRowProps) => {
25
25
  rowData: Row[][];
26
26
  handleCellHover: (rowIndex: number, colSpan?: any) => void;
27
- isCellHover: (rowIndex: number, colSpan?: any) => boolean;
28
27
  hoverIndex: Set<number>;
29
28
  rowSelectMergeStartData: any[];
30
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;4BASV,MAAM;;;CAiDnD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;;;CAgDvD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -71,16 +71,6 @@ var useTableRow = function useTableRow(props) {
71
71
  }
72
72
  setHoverIndex(hoverIndex);
73
73
  });
74
- var isCellHover = (0, _usePersistFn.usePersistFn)(function (rowIndex) {
75
- var colSpan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
76
- if (!props.hover) return false;
77
- var isHover = false;
78
- for (var i = 0; i < colSpan; i++) {
79
- isHover = hoverIndex.has(rowIndex + i);
80
- if (isHover) break;
81
- }
82
- return isHover;
83
- });
84
74
  var rowData = (0, _react.useMemo)(function () {
85
75
  var rows = [];
86
76
  context.rowSelectMergeStartData = [];
@@ -114,7 +104,6 @@ var useTableRow = function useTableRow(props) {
114
104
  return {
115
105
  rowData: rowData,
116
106
  handleCellHover: handleCellHover,
117
- isCellHover: isCellHover,
118
107
  hoverIndex: hoverIndex,
119
108
  rowSelectMergeStartData: context.rowSelectMergeStartData
120
109
  };
@@ -11,11 +11,11 @@ interface UseTableVirtualProps {
11
11
  isRtl?: boolean;
12
12
  columns: TableFormatColumn<any>[];
13
13
  colgroup: (number | string | undefined)[];
14
+ theadAndTfootHeight: number;
14
15
  }
15
16
  declare const useTableVirtual: (props: UseTableVirtualProps) => {
16
17
  scrollHeight: number;
17
18
  startIndex: number;
18
- innerLeft: number;
19
19
  innerTop: number;
20
20
  data: any[];
21
21
  handleScroll: (info: {
@@ -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;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAuMpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+JnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CA2FnE,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;;;;;;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"}
@@ -37,26 +37,21 @@ function getMaxRowSpanLength(input) {
37
37
  var useTableVirtual = function useTableVirtual(props) {
38
38
  var _useState = (0, _react.useState)(0),
39
39
  _useState2 = _slicedToArray(_useState, 2),
40
- innerLeft = _useState2[0],
41
- setLeft = _useState2[1];
42
- var _useState3 = (0, _react.useState)(0),
40
+ innerTop = _useState2[0],
41
+ setTop = _useState2[1];
42
+ var _useState3 = (0, _react.useState)(props.data.length * props.rowHeight),
43
43
  _useState4 = _slicedToArray(_useState3, 2),
44
- innerTop = _useState4[0],
45
- setTop = _useState4[1];
46
- var _useState5 = (0, _react.useState)(props.data.length * props.rowHeight),
44
+ scrollHeight = _useState4[0],
45
+ setHeight = _useState4[1];
46
+ var _useState5 = (0, _react.useState)(0),
47
47
  _useState6 = _slicedToArray(_useState5, 2),
48
- scrollHeight = _useState6[0],
49
- setHeight = _useState6[1];
48
+ startIndex = _useState6[0],
49
+ setStartIndex = _useState6[1];
50
50
  var _useState7 = (0, _react.useState)(0),
51
51
  _useState8 = _slicedToArray(_useState7, 2),
52
- startIndex = _useState8[0],
53
- setStartIndex = _useState8[1];
54
- var _useState9 = (0, _react.useState)(0),
55
- _useState10 = _slicedToArray(_useState9, 2),
56
- offsetY = _useState10[0],
57
- setOffsetY = _useState10[1];
52
+ offsetY = _useState8[0],
53
+ setOffsetY = _useState8[1];
58
54
  var rowsInView = props.rowsInView === 0 ? props.data.length : props.rowsInView;
59
- var sleft = props.scrollLeft !== undefined ? props.scrollLeft : innerLeft;
60
55
  var rowSpanInfo = (0, _react.useMemo)(function () {
61
56
  var rowSpanColumns = props.columns.filter(function (col) {
62
57
  return typeof col.rowSpan === 'function';
@@ -129,18 +124,11 @@ var useTableVirtual = function useTableVirtual(props) {
129
124
  }),
130
125
  context = _useRef.current;
131
126
  var getTranslate = (0, _usePersistFn.usePersistFn)(function (left, top) {
132
- var l = left === undefined ? sleft : left;
133
127
  var t = top === undefined ? innerTop + offsetY : top;
134
128
  if (t < 0) {
135
129
  t = 0;
136
130
  }
137
- if (!props.isRtl && l < 0) {
138
- l = 0;
139
- }
140
- if (props.isRtl && l > 0) {
141
- l = 0;
142
- }
143
- return "translate3d(".concat(0 - l, "px, ").concat(0 - t, "px, 0)");
131
+ return "translate3d(0, ".concat(0 - t, "px, 0)");
144
132
  });
145
133
  var getContentHeight = function getContentHeight(index) {
146
134
  if (props.disabled) return 0;
@@ -148,7 +136,7 @@ var useTableVirtual = function useTableVirtual(props) {
148
136
  for (var i = 0; i <= index; i++) {
149
137
  sum += context.cachedHeight[i] || props.rowHeight;
150
138
  }
151
- return sum;
139
+ return sum + props.theadAndTfootHeight;
152
140
  };
153
141
  var setRowHeight = (0, _usePersistFn.usePersistFn)(function (index, height) {
154
142
  if (props.disabled) return;
@@ -242,12 +230,10 @@ var useTableVirtual = function useTableVirtual(props) {
242
230
  setHeight(sumHeight);
243
231
  });
244
232
  var handleScroll = function handleScroll(info) {
245
- var scrollLeft = info.scrollLeft,
246
- height = info.height,
233
+ var height = info.height,
247
234
  y = info.y,
248
235
  fromDrag = info.fromDrag;
249
236
  var scrollTop = info.scrollTop;
250
- setLeft(scrollLeft);
251
237
  if (props.disabled) {
252
238
  setTop(scrollTop);
253
239
  return;
@@ -304,7 +290,6 @@ var useTableVirtual = function useTableVirtual(props) {
304
290
  var max = scrollEl.scrollWidth - scrollEl.clientWidth;
305
291
  var left = Math.min(targetLeft, max);
306
292
  if (left === scrollEl.scrollLeft) return;
307
- setLeft(left);
308
293
  scrollEl.scrollLeft = left;
309
294
  });
310
295
  var scrollColumnIntoView = (0, _usePersistFn.usePersistFn)(function (colKey) {
@@ -323,6 +308,11 @@ var useTableVirtual = function useTableVirtual(props) {
323
308
  }
324
309
  scrollColumnByLeft(left);
325
310
  });
311
+ (0, _react.useEffect)(function () {
312
+ if (props.scrollLeft) {
313
+ scrollColumnByLeft(props.scrollLeft);
314
+ }
315
+ }, [props.scrollLeft]);
326
316
  (0, _react.useEffect)(function () {
327
317
  var scrollRefHeight = props.scrollRef.current ? props.scrollRef.current.clientHeight : 0;
328
318
  var tableRefHeight = props.innerRef.current ? props.innerRef.current.clientHeight : 0;
@@ -366,7 +356,7 @@ var useTableVirtual = function useTableVirtual(props) {
366
356
  (0, _react.useEffect)(function () {
367
357
  if (props.disabled) return;
368
358
  setHeight(getContentHeight(props.data.length - 1));
369
- }, [props.data.length]);
359
+ }, [props.data.length, props.theadAndTfootHeight]);
370
360
  (0, _react.useEffect)(function () {
371
361
  if (props.disabled) return;
372
362
  if (context.heightCallback) {
@@ -382,7 +372,6 @@ var useTableVirtual = function useTableVirtual(props) {
382
372
  return {
383
373
  scrollHeight: scrollHeight,
384
374
  startIndex: startIndex,
385
- innerLeft: sleft,
386
375
  innerTop: innerTop + offsetY,
387
376
  data: renderData,
388
377
  handleScroll: handleScroll,
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyRC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BA9Jd,MAAM;oCAiOD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA8PvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAnIpD,MAAM,0BAAyB,qBAAqB;;;;;;oBAqEjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BA9Jd,MAAM;gCAiOD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA8PvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAnIpD,MAAM,0BAAyB,qBAAqB;;CAma9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA+RC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BApKd,MAAM;oCAuOD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAoQvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzIpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BApKd,MAAM;gCAuOD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAoQvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzIpD,MAAM,0BAAyB,qBAAqB;;CAua9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -485,12 +485,10 @@ var useForm = function useForm(props) {
485
485
  context.removeArr.delete(n);
486
486
  if (df !== undefined && deepGet(context.value, n) === undefined) {
487
487
  if (!context.mounted) context.defaultValues[n] = df;
488
- setTimeout(function () {
489
- onChange(function (v) {
490
- deepSet(v, n, df, deepSetOptions);
491
- });
492
- update(n);
488
+ onChange(function (v) {
489
+ deepSet(v, n, df, deepSetOptions);
493
490
  });
491
+ update(n);
494
492
  }
495
493
  },
496
494
  unbind: function unbind(n, reserveAble, validateField, update) {
@@ -24,7 +24,6 @@ declare const useTableLayout: (props: UseTableLayoutProps) => {
24
24
  width: string | number | undefined;
25
25
  shouldLastColAuto: boolean | undefined;
26
26
  scrollWidth: number;
27
- maxScrollLeft: number;
28
27
  resizeFlag: number;
29
28
  };
30
29
  export default useTableLayout;
@@ -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;AAerE,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;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -21,6 +21,34 @@ import usePrevious from "../../common/use-previous";
21
21
  import { addResizeObserver } from "../../utils/dom/element";
22
22
  import { isFunc, isNumber } from "../../utils/is";
23
23
  import { toNum } from "../../utils/number";
24
+ function getDecimalAndIntegerPart(num) {
25
+ if (!num) return [0, 0];
26
+ var str = num.toString();
27
+ var dotIndex = str.indexOf('.');
28
+ if (dotIndex === -1) return [parseInt(str), 0];
29
+ var integerPart = parseInt(str.slice(0, dotIndex));
30
+ var decimalPart = parseFloat("0.".concat(str.slice(dotIndex + 1)));
31
+ return [integerPart, decimalPart];
32
+ }
33
+
34
+ // 将所有的小数部分转移到最后一列
35
+ function shiftDecimalToLastColumn(cols) {
36
+ var decimalSum = 0;
37
+ cols.forEach(function (v, i) {
38
+ var _getDecimalAndInteger = getDecimalAndIntegerPart(v),
39
+ _getDecimalAndInteger2 = _slicedToArray(_getDecimalAndInteger, 2),
40
+ inter = _getDecimalAndInteger2[0],
41
+ decimal = _getDecimalAndInteger2[1];
42
+ if (decimal > 0) {
43
+ decimalSum += decimal;
44
+ cols[i] = inter;
45
+ }
46
+ });
47
+ if (decimalSum > 0) {
48
+ cols[cols.length - 1] = Number(cols[cols.length - 1]) + decimalSum;
49
+ }
50
+ return cols;
51
+ }
24
52
  var MIN_RESIZABLE_WIDTH = 20;
25
53
  function compareColumnWidth(curCols, preCols) {
26
54
  if (curCols.length !== preCols.length) return false;
@@ -142,7 +170,7 @@ var useTableLayout = function useTableLayout(props) {
142
170
  if (cols && cols.every(function (v) {
143
171
  return v === 0;
144
172
  })) return;
145
- setColgroup(cols);
173
+ setColgroup(shiftDecimalToLastColumn(cols));
146
174
  setAdjust(adjust);
147
175
  if (!adjust) {
148
176
  updateResizeFlag();
@@ -359,7 +387,7 @@ var useTableLayout = function useTableLayout(props) {
359
387
  width: tableWidth,
360
388
  shouldLastColAuto: props.columnResizable && !adjust,
361
389
  scrollWidth: scrollWidth,
362
- maxScrollLeft: scrollWidth - context.clientWidth,
390
+ // maxScrollLeft: scrollWidth - context.clientWidth,
363
391
  resizeFlag: resizeFlag
364
392
  };
365
393
  };
@@ -24,7 +24,6 @@ export interface Row {
24
24
  declare const useTableRow: (props: TableRowProps) => {
25
25
  rowData: Row[][];
26
26
  handleCellHover: (rowIndex: number, colSpan?: any) => void;
27
- isCellHover: (rowIndex: number, colSpan?: any) => boolean;
28
27
  hoverIndex: Set<number>;
29
28
  rowSelectMergeStartData: any[];
30
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;4BASV,MAAM;;;CAiDnD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;;;CAgDvD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -65,16 +65,6 @@ var useTableRow = function useTableRow(props) {
65
65
  }
66
66
  setHoverIndex(hoverIndex);
67
67
  });
68
- var isCellHover = usePersistFn(function (rowIndex) {
69
- var colSpan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
70
- if (!props.hover) return false;
71
- var isHover = false;
72
- for (var i = 0; i < colSpan; i++) {
73
- isHover = hoverIndex.has(rowIndex + i);
74
- if (isHover) break;
75
- }
76
- return isHover;
77
- });
78
68
  var rowData = useMemo(function () {
79
69
  var rows = [];
80
70
  context.rowSelectMergeStartData = [];
@@ -108,7 +98,6 @@ var useTableRow = function useTableRow(props) {
108
98
  return {
109
99
  rowData: rowData,
110
100
  handleCellHover: handleCellHover,
111
- isCellHover: isCellHover,
112
101
  hoverIndex: hoverIndex,
113
102
  rowSelectMergeStartData: context.rowSelectMergeStartData
114
103
  };
@@ -11,11 +11,11 @@ interface UseTableVirtualProps {
11
11
  isRtl?: boolean;
12
12
  columns: TableFormatColumn<any>[];
13
13
  colgroup: (number | string | undefined)[];
14
+ theadAndTfootHeight: number;
14
15
  }
15
16
  declare const useTableVirtual: (props: UseTableVirtualProps) => {
16
17
  scrollHeight: number;
17
18
  startIndex: number;
18
- innerLeft: number;
19
19
  innerTop: number;
20
20
  data: any[];
21
21
  handleScroll: (info: {
@@ -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;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAuMpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+JnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CA2FnE,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;;;;;;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"}
@@ -31,26 +31,21 @@ function getMaxRowSpanLength(input) {
31
31
  var useTableVirtual = function useTableVirtual(props) {
32
32
  var _useState = useState(0),
33
33
  _useState2 = _slicedToArray(_useState, 2),
34
- innerLeft = _useState2[0],
35
- setLeft = _useState2[1];
36
- var _useState3 = useState(0),
34
+ innerTop = _useState2[0],
35
+ setTop = _useState2[1];
36
+ var _useState3 = useState(props.data.length * props.rowHeight),
37
37
  _useState4 = _slicedToArray(_useState3, 2),
38
- innerTop = _useState4[0],
39
- setTop = _useState4[1];
40
- var _useState5 = useState(props.data.length * props.rowHeight),
38
+ scrollHeight = _useState4[0],
39
+ setHeight = _useState4[1];
40
+ var _useState5 = useState(0),
41
41
  _useState6 = _slicedToArray(_useState5, 2),
42
- scrollHeight = _useState6[0],
43
- setHeight = _useState6[1];
42
+ startIndex = _useState6[0],
43
+ setStartIndex = _useState6[1];
44
44
  var _useState7 = useState(0),
45
45
  _useState8 = _slicedToArray(_useState7, 2),
46
- startIndex = _useState8[0],
47
- setStartIndex = _useState8[1];
48
- var _useState9 = useState(0),
49
- _useState10 = _slicedToArray(_useState9, 2),
50
- offsetY = _useState10[0],
51
- setOffsetY = _useState10[1];
46
+ offsetY = _useState8[0],
47
+ setOffsetY = _useState8[1];
52
48
  var rowsInView = props.rowsInView === 0 ? props.data.length : props.rowsInView;
53
- var sleft = props.scrollLeft !== undefined ? props.scrollLeft : innerLeft;
54
49
  var rowSpanInfo = useMemo(function () {
55
50
  var rowSpanColumns = props.columns.filter(function (col) {
56
51
  return typeof col.rowSpan === 'function';
@@ -123,18 +118,11 @@ var useTableVirtual = function useTableVirtual(props) {
123
118
  }),
124
119
  context = _useRef.current;
125
120
  var getTranslate = usePersistFn(function (left, top) {
126
- var l = left === undefined ? sleft : left;
127
121
  var t = top === undefined ? innerTop + offsetY : top;
128
122
  if (t < 0) {
129
123
  t = 0;
130
124
  }
131
- if (!props.isRtl && l < 0) {
132
- l = 0;
133
- }
134
- if (props.isRtl && l > 0) {
135
- l = 0;
136
- }
137
- return "translate3d(".concat(0 - l, "px, ").concat(0 - t, "px, 0)");
125
+ return "translate3d(0, ".concat(0 - t, "px, 0)");
138
126
  });
139
127
  var getContentHeight = function getContentHeight(index) {
140
128
  if (props.disabled) return 0;
@@ -142,7 +130,7 @@ var useTableVirtual = function useTableVirtual(props) {
142
130
  for (var i = 0; i <= index; i++) {
143
131
  sum += context.cachedHeight[i] || props.rowHeight;
144
132
  }
145
- return sum;
133
+ return sum + props.theadAndTfootHeight;
146
134
  };
147
135
  var setRowHeight = usePersistFn(function (index, height) {
148
136
  if (props.disabled) return;
@@ -236,12 +224,10 @@ var useTableVirtual = function useTableVirtual(props) {
236
224
  setHeight(sumHeight);
237
225
  });
238
226
  var handleScroll = function handleScroll(info) {
239
- var scrollLeft = info.scrollLeft,
240
- height = info.height,
227
+ var height = info.height,
241
228
  y = info.y,
242
229
  fromDrag = info.fromDrag;
243
230
  var scrollTop = info.scrollTop;
244
- setLeft(scrollLeft);
245
231
  if (props.disabled) {
246
232
  setTop(scrollTop);
247
233
  return;
@@ -298,7 +284,6 @@ var useTableVirtual = function useTableVirtual(props) {
298
284
  var max = scrollEl.scrollWidth - scrollEl.clientWidth;
299
285
  var left = Math.min(targetLeft, max);
300
286
  if (left === scrollEl.scrollLeft) return;
301
- setLeft(left);
302
287
  scrollEl.scrollLeft = left;
303
288
  });
304
289
  var scrollColumnIntoView = usePersistFn(function (colKey) {
@@ -317,6 +302,11 @@ var useTableVirtual = function useTableVirtual(props) {
317
302
  }
318
303
  scrollColumnByLeft(left);
319
304
  });
305
+ useEffect(function () {
306
+ if (props.scrollLeft) {
307
+ scrollColumnByLeft(props.scrollLeft);
308
+ }
309
+ }, [props.scrollLeft]);
320
310
  useEffect(function () {
321
311
  var scrollRefHeight = props.scrollRef.current ? props.scrollRef.current.clientHeight : 0;
322
312
  var tableRefHeight = props.innerRef.current ? props.innerRef.current.clientHeight : 0;
@@ -360,7 +350,7 @@ var useTableVirtual = function useTableVirtual(props) {
360
350
  useEffect(function () {
361
351
  if (props.disabled) return;
362
352
  setHeight(getContentHeight(props.data.length - 1));
363
- }, [props.data.length]);
353
+ }, [props.data.length, props.theadAndTfootHeight]);
364
354
  useEffect(function () {
365
355
  if (props.disabled) return;
366
356
  if (context.heightCallback) {
@@ -376,7 +366,6 @@ var useTableVirtual = function useTableVirtual(props) {
376
366
  return {
377
367
  scrollHeight: scrollHeight,
378
368
  startIndex: startIndex,
379
- innerLeft: sleft,
380
369
  innerTop: innerTop + offsetY,
381
370
  data: renderData,
382
371
  handleScroll: handleScroll,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.7.0-beta.2",
3
+ "version": "3.7.0-beta.4",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",