fix: reset image state in gallery (#730)

This commit is contained in:
Zeng1998
2022-12-11 20:14:55 +08:00
committed by GitHub
parent 4bebbf3e1d
commit 91220ea4a6

View File

@ -20,14 +20,16 @@ interface State {
originY: number; originY: number;
} }
const defaultState: State = {
angle: 0,
scale: 1,
originX: -1,
originY: -1,
};
const PreviewImageDialog: React.FC<Props> = ({ destroy, imgUrls, initialIndex }: Props) => { const PreviewImageDialog: React.FC<Props> = ({ destroy, imgUrls, initialIndex }: Props) => {
const [currentIndex, setCurrentIndex] = useState(initialIndex); const [currentIndex, setCurrentIndex] = useState(initialIndex);
const [state, setState] = useState<State>({ const [state, setState] = useState<State>(defaultState);
angle: 0,
scale: 1,
originX: -1,
originY: -1,
});
const handleCloseBtnClick = () => { const handleCloseBtnClick = () => {
destroy(); destroy();
@ -43,12 +45,14 @@ const PreviewImageDialog: React.FC<Props> = ({ destroy, imgUrls, initialIndex }:
const handleImgContainerClick = (event: React.MouseEvent) => { const handleImgContainerClick = (event: React.MouseEvent) => {
if (event.clientX < window.innerWidth / 2) { if (event.clientX < window.innerWidth / 2) {
if (currentIndex > 0) { if (currentIndex > 0) {
setState(defaultState);
setCurrentIndex(currentIndex - 1); setCurrentIndex(currentIndex - 1);
} else { } else {
destroy(); destroy();
} }
} else { } else {
if (currentIndex < imgUrls.length - 1) { if (currentIndex < imgUrls.length - 1) {
setState(defaultState);
setCurrentIndex(currentIndex + 1); setCurrentIndex(currentIndex + 1);
} else { } else {
destroy(); destroy();