Skip to content

Commit ef4af1f

Browse files
committed
fix: 修复 drag 模式下的动画效果
1 parent 9304de1 commit ef4af1f

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -580,10 +580,10 @@ export default function PhotoBox({
580580
left: isDragMode ? translateX : undefined,
581581
top: isDragMode ? translateY : undefined,
582582
transition:
583-
isDragMode || touched || pause
584-
? isDragMode
585-
? `left ${transitionLayoutTime}ms ${easing}, top ${transitionLayoutTime}ms ${easing}`
586-
: undefined
583+
touched || pause
584+
? undefined
585+
: isDragMode
586+
? `left ${transitionLayoutTime}ms ${easing}, top ${transitionLayoutTime}ms ${easing}`
587587
: transitionCSS,
588588
willChange: isActive ? 'transform' : undefined,
589589
}}

packages/react-photo-view/src/hooks/useAnimationOrigin.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export default function useAnimationOrigin(
2727
] {
2828
const [originRect, updateOriginRect] = useState(initialRect)
2929
// 动画状态
30-
const [easingMode, updateEasingMode] = useState<EasingMode>(isDragMode ? 4 : 0)
30+
const [easingMode, updateEasingMode] = useState<EasingMode>(isDragMode ? 3 : 0)
3131
const initialTime = useRef<number>()
3232

3333
const fn = useMethods({

packages/react-photo-view/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ import PhotoView from './PhotoView'
33
import PhotoSlider from './PhotoSlider'
44

55
export { PhotoProvider, PhotoView, PhotoSlider }
6+
7+
export * from './types'

packages/react-photo-view/src/utils/getSuitableImageSize.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export default function getSuitableImageSize(
4343
height,
4444
x: margin,
4545
y,
46-
pause: true,
46+
pause: isDragMode ? false : true,
4747
}
4848
if (isDragMode) state.scale = Math.min(height / naturalHeight, width / naturalWidth, 1)
4949
return state

0 commit comments

Comments
 (0)