避免预览容器变化重置缩放
自动适配仅在图片或逻辑尺寸变化时执行 通过尺寸引用保留初始视口兜底值
This commit is contained in:
+5
-9
@@ -55,6 +55,8 @@ export function PreviewWorkspace({
|
||||
viewportRef.current,
|
||||
);
|
||||
const [canvasSize, setCanvasSize] = useState({ width: 900, height: 640 });
|
||||
const canvasSizeRef = useRef(canvasSize);
|
||||
canvasSizeRef.current = canvasSize;
|
||||
const [spaceHeld, setSpaceHeld] = useState(false);
|
||||
const [renderMode, setRenderMode] =
|
||||
useState<UiEditorRenderMode>('editor-overlay');
|
||||
@@ -152,18 +154,12 @@ export function PreviewWorkspace({
|
||||
height: logicalSize.height,
|
||||
},
|
||||
canvasSize: {
|
||||
width: element?.clientWidth || canvasSize.width,
|
||||
height: element?.clientHeight || canvasSize.height,
|
||||
width: element?.clientWidth || canvasSizeRef.current.width,
|
||||
height: element?.clientHeight || canvasSizeRef.current.height,
|
||||
},
|
||||
}),
|
||||
);
|
||||
}, [
|
||||
activeImageId,
|
||||
canvasSize.height,
|
||||
canvasSize.width,
|
||||
logicalSize,
|
||||
setViewport,
|
||||
]);
|
||||
}, [activeImageId, logicalSize, setViewport]);
|
||||
|
||||
const scaleViewportFromCenter = useCallback(
|
||||
(nextScale: number) => {
|
||||
|
||||
Reference in New Issue
Block a user