@sheinx/hooks 3.2.4 → 3.2.5-beta.1
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-button/use-button.d.ts +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts +1 -1
- package/cjs/components/use-image/use-image.d.ts +1 -1
- 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-button/use-button.d.ts +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts +1 -1
- package/esm/components/use-image/use-image.d.ts +1 -1
- 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
@@ -28,7 +28,7 @@ declare const useButton: (props?: BaseButtonProps) => {
|
|
28
28
|
buttonRef?: React.Ref<HTMLButtonElement> | undefined;
|
29
29
|
} & TOther_1 & {
|
30
30
|
disabled: boolean | undefined;
|
31
|
-
htmlType: "button" | "
|
31
|
+
htmlType: "button" | "submit" | "reset" | undefined;
|
32
32
|
onClick: (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLAnchorElement>) => void;
|
33
33
|
};
|
34
34
|
getSpaceChildren: (children: React.ReactNode, space?: boolean, className?: string) => React.ReactNode;
|
@@ -4,7 +4,7 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
|
|
4
4
|
resultArr: (string | undefined)[];
|
5
5
|
targetResultArr: (string | undefined)[];
|
6
6
|
dateArr: (Date | undefined)[];
|
7
|
-
disabledStatus: "
|
7
|
+
disabledStatus: "left" | "right" | "all" | undefined;
|
8
8
|
currentArr: Date[];
|
9
9
|
mode: DatePickerModeType[];
|
10
10
|
isEmpty: boolean;
|
@@ -10,7 +10,7 @@ declare const useImage: (props?: BaseImageProps) => {
|
|
10
10
|
getRootProps: <TOther extends ObjectType = ObjectType>(externalProps?: TOther) => {
|
11
11
|
[x: string]: (event: any) => void;
|
12
12
|
} & TOther & {
|
13
|
-
ref: React.RefObject<
|
13
|
+
ref: React.RefObject<HTMLAnchorElement | HTMLDivElement>;
|
14
14
|
onClick: (event: React.MouseEvent<HTMLImageElement | HTMLDivElement>) => void;
|
15
15
|
};
|
16
16
|
getImageProps: <TOther_1 extends ObjectType = ObjectType>(externalProps?: TOther_1) => {
|
@@ -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) {
|
@@ -28,7 +28,7 @@ declare const useButton: (props?: BaseButtonProps) => {
|
|
28
28
|
buttonRef?: React.Ref<HTMLButtonElement> | undefined;
|
29
29
|
} & TOther_1 & {
|
30
30
|
disabled: boolean | undefined;
|
31
|
-
htmlType: "button" | "
|
31
|
+
htmlType: "button" | "submit" | "reset" | undefined;
|
32
32
|
onClick: (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLAnchorElement>) => void;
|
33
33
|
};
|
34
34
|
getSpaceChildren: (children: React.ReactNode, space?: boolean, className?: string) => React.ReactNode;
|
@@ -4,7 +4,7 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
|
|
4
4
|
resultArr: (string | undefined)[];
|
5
5
|
targetResultArr: (string | undefined)[];
|
6
6
|
dateArr: (Date | undefined)[];
|
7
|
-
disabledStatus: "
|
7
|
+
disabledStatus: "left" | "right" | "all" | undefined;
|
8
8
|
currentArr: Date[];
|
9
9
|
mode: DatePickerModeType[];
|
10
10
|
isEmpty: boolean;
|
@@ -10,7 +10,7 @@ declare const useImage: (props?: BaseImageProps) => {
|
|
10
10
|
getRootProps: <TOther extends ObjectType = ObjectType>(externalProps?: TOther) => {
|
11
11
|
[x: string]: (event: any) => void;
|
12
12
|
} & TOther & {
|
13
|
-
ref: React.RefObject<
|
13
|
+
ref: React.RefObject<HTMLAnchorElement | HTMLDivElement>;
|
14
14
|
onClick: (event: React.MouseEvent<HTMLImageElement | HTMLDivElement>) => void;
|
15
15
|
};
|
16
16
|
getImageProps: <TOther_1 extends ObjectType = ObjectType>(externalProps?: TOther_1) => {
|
@@ -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) {
|