Skip to content

Commit 2eee040

Browse files
committed
fix: slide 模式下,放大后拖拽无响应
1 parent 9c0ec6e commit 2eee040

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

packages/react-photo-view/src/PhotoBox.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,8 @@ export default function PhotoBox({
377377
lastY,
378378
width,
379379
height,
380+
naturalWidth,
381+
naturalHeight,
380382
scale,
381383
safeScale,
382384
lastScale,

packages/react-photo-view/src/hooks/useScrollPosition.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ export default function useScrollPosition<C extends (spatial: number) => boolean
3636
lastY: number,
3737
width: number,
3838
height: number,
39+
naturalWidth: number,
40+
naturalHeight: number,
3941
scale: number,
4042
safeScale: number,
4143
lastScale: number,
@@ -51,7 +53,17 @@ export default function useScrollPosition<C extends (spatial: number) => boolean
5153
// 时间过长、超出安全范围的情况下不执行滚动逻辑,恢复安全范围
5254
if (moveTime >= maxTouchTime || safeScale != scale || Math.abs(lastScale - scale) > 1) {
5355
// 计算中心缩放点
54-
const { x: nextX, y: nextY } = getPositionOnMoveOrScale(x, y, width, height, scale, safeScale)
56+
const { x: nextX, y: nextY } = getPositionOnMoveOrScale(
57+
false,
58+
x,
59+
y,
60+
width,
61+
height,
62+
naturalWidth,
63+
naturalHeight,
64+
scale,
65+
safeScale,
66+
)
5567
const targetX = beginEdgeX ? beginX : nextX !== x ? nextX : null
5668
const targetY = beginEdgeY ? beginY : nextY !== y ? nextY : null
5769

0 commit comments

Comments
 (0)