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 PreviewImageDialog: React.FC<Props> = ({ destroy, imgUrls, initialIndex }: Props) => { const defaultState: State = {
const [currentIndex, setCurrentIndex] = useState(initialIndex);
const [state, setState] = useState<State>({
angle: 0, angle: 0,
scale: 1, scale: 1,
originX: -1, originX: -1,
originY: -1, originY: -1,
}); };
const PreviewImageDialog: React.FC<Props> = ({ destroy, imgUrls, initialIndex }: Props) => {
const [currentIndex, setCurrentIndex] = useState(initialIndex);
const [state, setState] = useState<State>(defaultState);
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();