From 91220ea4a63de51f5ad352d9fef3a53ed0d4469e Mon Sep 17 00:00:00 2001 From: Zeng1998 <1129142694@qq.com> Date: Sun, 11 Dec 2022 20:14:55 +0800 Subject: [PATCH] fix: reset image state in gallery (#730) --- web/src/components/PreviewImageDialog.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/web/src/components/PreviewImageDialog.tsx b/web/src/components/PreviewImageDialog.tsx index bdbc71f3..54201160 100644 --- a/web/src/components/PreviewImageDialog.tsx +++ b/web/src/components/PreviewImageDialog.tsx @@ -20,14 +20,16 @@ interface State { originY: number; } +const defaultState: State = { + angle: 0, + scale: 1, + originX: -1, + originY: -1, +}; + const PreviewImageDialog: React.FC = ({ destroy, imgUrls, initialIndex }: Props) => { const [currentIndex, setCurrentIndex] = useState(initialIndex); - const [state, setState] = useState({ - angle: 0, - scale: 1, - originX: -1, - originY: -1, - }); + const [state, setState] = useState(defaultState); const handleCloseBtnClick = () => { destroy(); @@ -43,12 +45,14 @@ const PreviewImageDialog: React.FC = ({ destroy, imgUrls, initialIndex }: const handleImgContainerClick = (event: React.MouseEvent) => { if (event.clientX < window.innerWidth / 2) { if (currentIndex > 0) { + setState(defaultState); setCurrentIndex(currentIndex - 1); } else { destroy(); } } else { if (currentIndex < imgUrls.length - 1) { + setState(defaultState); setCurrentIndex(currentIndex + 1); } else { destroy();