diff --git a/src/components/image-editor/ImageCanvasCharacterAnimationPanelView.tsx b/src/components/image-editor/ImageCanvasCharacterAnimationPanelView.tsx index 567c128f2..a9bd8d13d 100644 --- a/src/components/image-editor/ImageCanvasCharacterAnimationPanelView.tsx +++ b/src/components/image-editor/ImageCanvasCharacterAnimationPanelView.tsx @@ -42,6 +42,13 @@ type ImageCanvasCharacterAnimationPanelViewProps = { >; onUpdateDuration: (frameCountValue: string) => void; onSubmit: () => void; + /** + * 比例 / 时长 / 清晰度入口是否渲染,默认 `true`,与美术画布一致。 + * + * 传 `false` 的宿主必须自己说清这三个值由谁决定:它们不在该宿主的提交载荷里时, + * 渲染出来就是点了不生效的假控件(改了 1080p 实际仍按固定档出图)。 + */ + showParameters?: boolean; }; function resetFailedPanelStatus< @@ -126,6 +133,7 @@ export function ImageCanvasCharacterAnimationPanelView({ setCharacterAnimationPanel, onUpdateDuration, onSubmit, + showParameters = true, }: ImageCanvasCharacterAnimationPanelViewProps) { const [isParameterMenuOpen, setIsParameterMenuOpen] = useState(false); const parameterButtonRef = useRef(null); @@ -220,19 +228,21 @@ export function ImageCanvasCharacterAnimationPanelView({ ))}
-
- } - onClick={() => setIsParameterMenuOpen((open) => !open)} - > - {ratioLabel} · {panel.durationSeconds}秒 · {panel.resolution} - -
+ {showParameters ? ( +
+ } + onClick={() => setIsParameterMenuOpen((open) => !open)} + > + {ratioLabel} · {panel.durationSeconds}秒 · {panel.resolution} + +
+ ) : null} ) : null}
- {isParameterMenuOpen + {showParameters && isParameterMenuOpen ? renderPanelPortal(