|
|
@@ -1950,6 +1950,19 @@ const StackViewer = ({
|
|
|
};
|
|
|
|
|
|
setup();
|
|
|
+
|
|
|
+ // ✅ 添加清理函数:确保组件卸载时正确清理 viewport
|
|
|
+ return () => {
|
|
|
+ try {
|
|
|
+ const renderingEngine = cornerstone.getRenderingEngine(renderingEngineId);
|
|
|
+ if (renderingEngine) {
|
|
|
+ console.log(`[StackViewer] Cleaning up viewport: ${viewportId}`);
|
|
|
+ renderingEngine.disableElement(viewportId);
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.warn(`[StackViewer] Error disabling element ${viewportId}:`, error);
|
|
|
+ }
|
|
|
+ };
|
|
|
}, [elementRef, imageIndex, viewportId, renderingEngineId, imageUrls[0]]);
|
|
|
|
|
|
// 监听容器大小变化,自动保持宽高比
|