@sheinx/hooks 3.3.0-beta.11 → 3.3.0-beta.12
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.
- package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-layout.js +3 -2
- package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual.js +14 -3
- package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
- package/esm/components/use-table/use-table-layout.js +4 -3
- package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual.js +14 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
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;AAcrE,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;;;;;;;;;;;yBA8CX,MAAM,UAAU,MAAM;;;;;;;;CAgO5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -328,16 +328,17 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
328
328
|
(_cancelFunc = cancelFunc) === null || _cancelFunc === void 0 || _cancelFunc();
|
|
329
329
|
};
|
|
330
330
|
}, [scrollRef.current]);
|
|
331
|
-
(0, _react.
|
|
331
|
+
(0, _react.useLayoutEffect)(function () {
|
|
332
332
|
if (adjust) {
|
|
333
333
|
getColgroup(adjust === 'drag');
|
|
334
334
|
setAdjust(false);
|
|
335
335
|
} else {
|
|
336
336
|
checkFloat();
|
|
337
|
-
checkScroll();
|
|
337
|
+
// checkScroll();
|
|
338
338
|
// 拖拽列会导致 scrollWidth 变化
|
|
339
339
|
syncScrollWidth();
|
|
340
340
|
}
|
|
341
|
+
checkScroll();
|
|
341
342
|
}, [colgroup]);
|
|
342
343
|
return {
|
|
343
344
|
isScrollX: !!isScrollX,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAGA,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;CACjB;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBA+GpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAtEuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAkInB,MAAM;CAmElD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _usePrevious = require("../.../../../common/use-previous");
|
|
8
7
|
var _usePersistFn = require("../../common/use-persist-fn");
|
|
9
8
|
var _react = require("react");
|
|
10
9
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
@@ -34,7 +33,6 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
34
33
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
35
34
|
startIndex = _useState8[0],
|
|
36
35
|
setStartIndex = _useState8[1];
|
|
37
|
-
var preIndex = (0, _usePrevious.usePrevious)(startIndex);
|
|
38
36
|
var _useState9 = (0, _react.useState)(0),
|
|
39
37
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
40
38
|
offsetY = _useState10[0],
|
|
@@ -47,7 +45,8 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
47
45
|
rateTimer: null,
|
|
48
46
|
topTimer: null,
|
|
49
47
|
controlScrollRate: null,
|
|
50
|
-
heightCallback: null
|
|
48
|
+
heightCallback: null,
|
|
49
|
+
preIndex: null
|
|
51
50
|
}),
|
|
52
51
|
context = _useRef.current;
|
|
53
52
|
var getTranslate = (0, _usePersistFn.usePersistFn)(function (left, top) {
|
|
@@ -80,6 +79,8 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
80
79
|
if (context.shouldUpdateHeight) {
|
|
81
80
|
setHeight(getContentHeight(props.data.length - 1));
|
|
82
81
|
}
|
|
82
|
+
var preIndex = context.preIndex;
|
|
83
|
+
// 解决: 从下往上滚 由于高度变化会导致滚动条跳动
|
|
83
84
|
if (preIndex && preIndex > startIndex && startIndex === index) {
|
|
84
85
|
// 发生在顶部
|
|
85
86
|
if (context.heightCallback) return;
|
|
@@ -184,6 +185,16 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
184
185
|
props.scrollRef.current.scrollTop = beforeHeight;
|
|
185
186
|
}
|
|
186
187
|
});
|
|
188
|
+
(0, _react.useEffect)(function () {
|
|
189
|
+
// 记录preIndex
|
|
190
|
+
context.preIndex = startIndex;
|
|
191
|
+
}, [startIndex]);
|
|
192
|
+
(0, _react.useEffect)(function () {
|
|
193
|
+
// 数据变化的时候清空掉 preIndex, 如果之前有缓存的index, setRowHeight 会有问题
|
|
194
|
+
return function () {
|
|
195
|
+
context.preIndex = null;
|
|
196
|
+
};
|
|
197
|
+
}, [props.data]);
|
|
187
198
|
(0, _react.useEffect)(function () {
|
|
188
199
|
if (props.disabled) return;
|
|
189
200
|
if (offsetY) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
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;AAcrE,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;;;;;;;;;;;yBA8CX,MAAM,UAAU,MAAM;;;;;;;;CAgO5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -14,7 +14,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
14
14
|
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; }
|
|
15
15
|
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; } }
|
|
16
16
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
-
import React, { useEffect, useRef } from 'react';
|
|
17
|
+
import React, { useEffect, useRef, useLayoutEffect } from 'react';
|
|
18
18
|
import useLatestObj from "../../common/use-latest-obj";
|
|
19
19
|
import usePersistFn from "../../common/use-persist-fn";
|
|
20
20
|
import usePrevious from "../../common/use-previous";
|
|
@@ -319,16 +319,17 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
319
319
|
(_cancelFunc = cancelFunc) === null || _cancelFunc === void 0 || _cancelFunc();
|
|
320
320
|
};
|
|
321
321
|
}, [scrollRef.current]);
|
|
322
|
-
|
|
322
|
+
useLayoutEffect(function () {
|
|
323
323
|
if (adjust) {
|
|
324
324
|
getColgroup(adjust === 'drag');
|
|
325
325
|
setAdjust(false);
|
|
326
326
|
} else {
|
|
327
327
|
checkFloat();
|
|
328
|
-
checkScroll();
|
|
328
|
+
// checkScroll();
|
|
329
329
|
// 拖拽列会导致 scrollWidth 变化
|
|
330
330
|
syncScrollWidth();
|
|
331
331
|
}
|
|
332
|
+
checkScroll();
|
|
332
333
|
}, [colgroup]);
|
|
333
334
|
return {
|
|
334
335
|
isScrollX: !!isScrollX,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAGA,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;CACjB;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBA+GpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAtEuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAkInB,MAAM;CAmElD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -8,7 +8,6 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
8
8
|
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; }
|
|
9
9
|
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; } }
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
-
import { usePrevious } from "../.../../../common/use-previous";
|
|
12
11
|
import { usePersistFn } from "../../common/use-persist-fn";
|
|
13
12
|
import { useState, useRef, useEffect } from 'react';
|
|
14
13
|
var useTableVirtual = function useTableVirtual(props) {
|
|
@@ -28,7 +27,6 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
28
27
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
29
28
|
startIndex = _useState8[0],
|
|
30
29
|
setStartIndex = _useState8[1];
|
|
31
|
-
var preIndex = usePrevious(startIndex);
|
|
32
30
|
var _useState9 = useState(0),
|
|
33
31
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
34
32
|
offsetY = _useState10[0],
|
|
@@ -41,7 +39,8 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
41
39
|
rateTimer: null,
|
|
42
40
|
topTimer: null,
|
|
43
41
|
controlScrollRate: null,
|
|
44
|
-
heightCallback: null
|
|
42
|
+
heightCallback: null,
|
|
43
|
+
preIndex: null
|
|
45
44
|
}),
|
|
46
45
|
context = _useRef.current;
|
|
47
46
|
var getTranslate = usePersistFn(function (left, top) {
|
|
@@ -74,6 +73,8 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
74
73
|
if (context.shouldUpdateHeight) {
|
|
75
74
|
setHeight(getContentHeight(props.data.length - 1));
|
|
76
75
|
}
|
|
76
|
+
var preIndex = context.preIndex;
|
|
77
|
+
// 解决: 从下往上滚 由于高度变化会导致滚动条跳动
|
|
77
78
|
if (preIndex && preIndex > startIndex && startIndex === index) {
|
|
78
79
|
// 发生在顶部
|
|
79
80
|
if (context.heightCallback) return;
|
|
@@ -178,6 +179,16 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
178
179
|
props.scrollRef.current.scrollTop = beforeHeight;
|
|
179
180
|
}
|
|
180
181
|
});
|
|
182
|
+
useEffect(function () {
|
|
183
|
+
// 记录preIndex
|
|
184
|
+
context.preIndex = startIndex;
|
|
185
|
+
}, [startIndex]);
|
|
186
|
+
useEffect(function () {
|
|
187
|
+
// 数据变化的时候清空掉 preIndex, 如果之前有缓存的index, setRowHeight 会有问题
|
|
188
|
+
return function () {
|
|
189
|
+
context.preIndex = null;
|
|
190
|
+
};
|
|
191
|
+
}, [props.data]);
|
|
181
192
|
useEffect(function () {
|
|
182
193
|
if (props.disabled) return;
|
|
183
194
|
if (offsetY) {
|