diff --git a/24665.dcd0f0a6.async.js b/24665.6f1f704e.async.js
similarity index 99%
rename from 24665.dcd0f0a6.async.js
rename to 24665.6f1f704e.async.js
index 0c78902652..c6e3575d66 100644
--- a/24665.dcd0f0a6.async.js
+++ b/24665.6f1f704e.async.js
@@ -3540,8 +3540,8 @@ Option.isSelectOption = true;
var useMemo = __webpack_require__(79722);
// EXTERNAL MODULE: ./node_modules/_rc-util@5.44.3@rc-util/es/omit.js
var omit = __webpack_require__(64002);
-// EXTERNAL MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/index.js + 17 modules
-var _rc_virtual_list_3_16_1_rc_virtual_list_es = __webpack_require__(20277);
+// EXTERNAL MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/index.js + 17 modules
+var _rc_virtual_list_3_17_0_rc_virtual_list_es = __webpack_require__(70318);
;// CONCATENATED MODULE: ./node_modules/_rc-select@14.8.1@rc-select/es/SelectContext.js
@@ -3833,7 +3833,7 @@ var OptionList = function OptionList(_, ref) {
width: 0,
overflow: 'hidden'
}
- }), renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/_react_17_0_2_react.createElement(_rc_virtual_list_3_16_1_rc_virtual_list_es/* default */.Z, {
+ }), renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/_react_17_0_2_react.createElement(_rc_virtual_list_3_17_0_rc_virtual_list_es/* default */.Z, {
itemKey: "key",
ref: listRef,
data: memoFlattenOptions,
diff --git a/2595.b831e3c0.async.js b/2595.d3f06db0.async.js
similarity index 99%
rename from 2595.b831e3c0.async.js
rename to 2595.d3f06db0.async.js
index f6585131f2..7ef47119ef 100644
--- a/2595.b831e3c0.async.js
+++ b/2595.d3f06db0.async.js
@@ -3382,8 +3382,8 @@ ImmutableTable.Column = sugar_Column;
ImmutableTable.ColumnGroup = sugar_ColumnGroup;
ImmutableTable.Summary = FooterComponents;
/* harmony default export */ var es_Table = (ImmutableTable);
-// EXTERNAL MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/index.js + 17 modules
-var _rc_virtual_list_3_16_1_rc_virtual_list_es = __webpack_require__(20277);
+// EXTERNAL MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/index.js + 17 modules
+var _rc_virtual_list_3_17_0_rc_virtual_list_es = __webpack_require__(70318);
;// CONCATENATED MODULE: ./node_modules/_rc-table@7.33.4@rc-table/es/VirtualTable/context.js
var StaticContext = createContext(null);
@@ -3794,7 +3794,7 @@ var Grid = /*#__PURE__*/_react_17_0_2_react.forwardRef(function (props, ref) {
var tblPrefixCls = "".concat(prefixCls, "-tbody");
var bodyContent;
if (flattenData.length) {
- bodyContent = /*#__PURE__*/_react_17_0_2_react.createElement(_rc_virtual_list_3_16_1_rc_virtual_list_es/* default */.Z, {
+ bodyContent = /*#__PURE__*/_react_17_0_2_react.createElement(_rc_virtual_list_3_17_0_rc_virtual_list_es/* default */.Z, {
fullHeight: false,
ref: listRef,
className: _classnames_2_5_1_classnames_default()(tblPrefixCls, "".concat(tblPrefixCls, "-virtual")),
diff --git a/693.c7300897.async.js b/693.fbd85000.async.js
similarity index 99%
rename from 693.c7300897.async.js
rename to 693.fbd85000.async.js
index a78dbf9220..13eceb279e 100644
--- a/693.c7300897.async.js
+++ b/693.fbd85000.async.js
@@ -1354,8 +1354,8 @@ var slicedToArray = __webpack_require__(29043);
var objectWithoutProperties = __webpack_require__(19149);
// EXTERNAL MODULE: ./node_modules/_rc-util@5.44.3@rc-util/es/hooks/useLayoutEffect.js
var useLayoutEffect = __webpack_require__(28800);
-// EXTERNAL MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/index.js + 17 modules
-var es = __webpack_require__(20277);
+// EXTERNAL MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/index.js + 17 modules
+var es = __webpack_require__(70318);
// EXTERNAL MODULE: ./node_modules/_rc-motion@2.9.5@rc-motion/es/index.js + 13 modules
var _rc_motion_2_9_5_rc_motion_es = __webpack_require__(43469);
// EXTERNAL MODULE: ./node_modules/_rc-tree@5.7.12@rc-tree/es/TreeNode.js + 1 modules
diff --git a/20277.6594ed01.async.js b/70318.40f925d8.async.js
similarity index 95%
rename from 20277.6594ed01.async.js
rename to 70318.40f925d8.async.js
index 1454a80ff7..258e39a5d2 100644
--- a/20277.6594ed01.async.js
+++ b/70318.40f925d8.async.js
@@ -1,16 +1,16 @@
"use strict";
-(self["webpackChunk"] = self["webpackChunk"] || []).push([[20277],{
+(self["webpackChunk"] = self["webpackChunk"] || []).push([[70318],{
-/***/ 20277:
+/***/ 70318:
/*!***************************************************************************************!*\
- !*** ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/index.js + 17 modules ***!
+ !*** ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/index.js + 17 modules ***!
\***************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
- Z: function() { return /* binding */ _rc_virtual_list_3_16_1_rc_virtual_list_es; }
+ Z: function() { return /* binding */ _rc_virtual_list_3_17_0_rc_virtual_list_es; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.26.0@@babel/runtime/helpers/esm/extends.js
@@ -38,7 +38,7 @@ var useLayoutEffect = __webpack_require__(28800);
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_react-dom@17.0.2@react-dom/index.js
var _react_dom_17_0_2_react_dom = __webpack_require__(4676);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/Filler.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/Filler.js
@@ -91,7 +91,7 @@ var Filler = /*#__PURE__*/_react_17_0_2_react.forwardRef(function (_ref, ref) {
});
Filler.displayName = 'Filler';
/* harmony default export */ var es_Filler = (Filler);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/Item.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/Item.js
function Item(_ref) {
var children = _ref.children,
@@ -103,7 +103,7 @@ function Item(_ref) {
ref: refFunc
});
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useChildren.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useChildren.js
function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, _ref) {
@@ -125,7 +125,7 @@ function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRe
}, node);
});
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/utils/algorithmUtil.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/utils/algorithmUtil.js
/**
* Get index with specific start index one by one. e.g.
* min: 3, max: 9, start: 6
@@ -206,7 +206,7 @@ function findListDiffIndex(originList, targetList, getKey) {
multiple: multiple
};
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useDiffItem.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useDiffItem.js
@@ -231,11 +231,11 @@ function useDiffItem(data, getKey, onDiff) {
}
// EXTERNAL MODULE: ./node_modules/_rc-util@5.44.3@rc-util/es/raf.js
var raf = __webpack_require__(23073);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/utils/isFirefox.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/utils/isFirefox.js
var isFF = (typeof navigator === "undefined" ? "undefined" : (0,esm_typeof/* default */.Z)(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);
/* harmony default export */ var isFirefox = (isFF);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useOriginScroll.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useOriginScroll.js
/* harmony default export */ var useOriginScroll = (function (isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight) {
// Do lock for a wheel when scrolling
@@ -280,7 +280,7 @@ var isFF = (typeof navigator === "undefined" ? "undefined" : (0,esm_typeof/* def
return !lockRef.current && originScroll;
};
});
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useFrameWheel.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useFrameWheel.js
@@ -374,7 +374,7 @@ onWheelDelta) {
}
return [onWheel, onFireFoxScroll];
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useGetSize.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useGetSize.js
@@ -429,7 +429,7 @@ var findDOMNode = __webpack_require__(85899);
var classCallCheck = __webpack_require__(79545);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.26.0@@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__(68550);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/utils/CacheMap.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/utils/CacheMap.js
@@ -441,6 +441,7 @@ var CacheMap = /*#__PURE__*/function () {
// Used for cache key
// `useMemo` no need to update if `id` not change
(0,defineProperty/* default */.Z)(this, "id", 0);
+ (0,defineProperty/* default */.Z)(this, "diffKeys", new Set());
this.maps = Object.create(null);
}
(0,createClass/* default */.Z)(CacheMap, [{
@@ -448,18 +449,33 @@ var CacheMap = /*#__PURE__*/function () {
value: function set(key, value) {
this.maps[key] = value;
this.id += 1;
+ this.diffKeys.add(key);
}
}, {
key: "get",
value: function get(key) {
return this.maps[key];
}
+
+ /**
+ * CacheMap will record the key changed.
+ * To help to know what's update in the next render.
+ */
+ }, {
+ key: "resetRecord",
+ value: function resetRecord() {
+ this.diffKeys.clear();
+ }
+ }, {
+ key: "getRecord",
+ value: function getRecord() {
+ return this.diffKeys;
+ }
}]);
return CacheMap;
}();
/* harmony default export */ var utils_CacheMap = (CacheMap);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useHeights.js
-
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useHeights.js
@@ -476,9 +492,9 @@ function useHeights(getKey, onItemAdd, onItemRemove) {
setUpdatedMark = _React$useState2[1];
var instanceRef = (0,_react_17_0_2_react.useRef)(new Map());
var heightsRef = (0,_react_17_0_2_react.useRef)(new utils_CacheMap());
- var collectRafRef = (0,_react_17_0_2_react.useRef)();
+ var promiseIdRef = (0,_react_17_0_2_react.useRef)(0);
function cancelRaf() {
- raf/* default */.Z.cancel(collectRafRef.current);
+ promiseIdRef.current += 1;
}
function collectHeight() {
var sync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
@@ -508,7 +524,13 @@ function useHeights(getKey, onItemAdd, onItemRemove) {
if (sync) {
doCollect();
} else {
- collectRafRef.current = (0,raf/* default */.Z)(doCollect);
+ promiseIdRef.current += 1;
+ var id = promiseIdRef.current;
+ Promise.resolve().then(function () {
+ if (id === promiseIdRef.current) {
+ doCollect();
+ }
+ });
}
}
function setInstanceRef(item, instance) {
@@ -535,7 +557,7 @@ function useHeights(getKey, onItemAdd, onItemRemove) {
}, []);
return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useMobileTouchMove.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useMobileTouchMove.js
var SMOOTH_PTG = 14 / 15;
@@ -623,7 +645,7 @@ function useMobileTouchMove(inVirtual, listRef, callback) {
};
}, [inVirtual]);
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useScrollDrag.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useScrollDrag.js
function smoothScrollOffset(offset) {
@@ -693,7 +715,7 @@ function useScrollDrag(inVirtual, componentRef, onScrollOffset) {
}
}, [inVirtual]);
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/hooks/useScrollTo.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/hooks/useScrollTo.js
@@ -835,7 +857,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
}
};
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/ScrollBar.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/ScrollBar.js
@@ -1085,7 +1107,7 @@ var ScrollBar = /*#__PURE__*/_react_17_0_2_react.forwardRef(function (props, ref
});
if (false) {}
/* harmony default export */ var es_ScrollBar = (ScrollBar);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/utils/scrollbarUtil.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/utils/scrollbarUtil.js
var MIN_SIZE = 20;
function getSpinSize() {
var containerSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
@@ -1097,7 +1119,7 @@ function getSpinSize() {
baseSize = Math.max(baseSize, MIN_SIZE);
return Math.floor(baseSize);
}
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/List.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/List.js
@@ -1307,6 +1329,25 @@ function RawList(props, ref) {
rangeRef.current.start = start;
rangeRef.current.end = end;
+ // When scroll up, first visible item get real height may not same as `itemHeight`,
+ // Which will make scroll jump.
+ // Let's sync scroll top to avoid jump
+ _react_17_0_2_react.useLayoutEffect(function () {
+ var changedRecord = heights.getRecord();
+ if (changedRecord.size === 1) {
+ var recordKey = Array.from(changedRecord)[0];
+ var startIndexKey = getKey(mergedData[start]);
+ if (startIndexKey === recordKey) {
+ var realStartHeight = heights.get(recordKey);
+ var diffHeight = realStartHeight - itemHeight;
+ syncScrollTop(function (ori) {
+ return ori + diffHeight;
+ });
+ }
+ }
+ heights.resetRecord();
+ }, [scrollHeight]);
+
// ================================= Size =================================
var _React$useState = _react_17_0_2_react.useState({
width: 0,
@@ -1617,9 +1658,9 @@ function RawList(props, ref) {
var List = /*#__PURE__*/_react_17_0_2_react.forwardRef(RawList);
List.displayName = 'List';
/* harmony default export */ var es_List = (List);
-;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.16.1@rc-virtual-list/es/index.js
+;// CONCATENATED MODULE: ./node_modules/_rc-virtual-list@3.17.0@rc-virtual-list/es/index.js
-/* harmony default export */ var _rc_virtual_list_3_16_1_rc_virtual_list_es = (es_List);
+/* harmony default export */ var _rc_virtual_list_3_17_0_rc_virtual_list_es = (es_List);
/***/ })
diff --git a/index.html b/index.html
index b2836512b2..e1e6947dd6 100644
--- a/index.html
+++ b/index.html
@@ -27,7 +27,7 @@
display: block !important;
}
-
+