diff --git a/packages/webpack-plugin/lib/runtime/components/react/mpx-picker-view-column/index.tsx b/packages/webpack-plugin/lib/runtime/components/react/mpx-picker-view-column/index.tsx index 60bd010771..c2e6d2a6ec 100644 --- a/packages/webpack-plugin/lib/runtime/components/react/mpx-picker-view-column/index.tsx +++ b/packages/webpack-plugin/lib/runtime/components/react/mpx-picker-view-column/index.tsx @@ -140,6 +140,16 @@ const _PickerViewColumn = forwardRef, } }, []) + // `contentOffset` prop sets visual position but does not fire scroll events, + // so `offsetYShared` (from `useScrollViewOffset`) stays at 0 until the user scrolls. + // Directly sync it whenever `itemRawH` is established so wheel animation renders correctly. + useEffect(() => { + if (!itemRawH || dragging.current || scrolling.current) { + return + } + offsetYShared.value = activeIndex.current * itemRawH + }, [itemRawH]) + useEffect(() => { if ( !scrollViewRef.current ||