diff --git a/src/components/PreviewToolbar.tsx b/src/components/PreviewToolbar.tsx index b0be58a..890aa1d 100644 --- a/src/components/PreviewToolbar.tsx +++ b/src/components/PreviewToolbar.tsx @@ -37,6 +37,12 @@ const PreviewToolbar: React.FC = ({ onRemoveBackgroundChange, onRegenerate }) => { + const [mergeInputValue, setMergeInputValue] = React.useState(colorMergeThreshold.toString()); + + React.useEffect(() => { + setMergeInputValue(colorMergeThreshold.toString()); + }, [colorMergeThreshold]); + return (
{/* 控制项区域 */} @@ -92,9 +98,11 @@ const PreviewToolbar: React.FC = ({ { const val = e.target.value; + setMergeInputValue(val); + if (val === '') { onColorMergeThresholdChange(0); } else { @@ -115,8 +123,11 @@ const PreviewToolbar: React.FC = ({ finalValue = 450; } + // 更新输入框显示值 + setMergeInputValue(finalValue.toString()); + // 只在值需要修正时才更新 - if (finalValue !== val || isNaN(val)) { + if (finalValue !== val || isNaN(val) || e.target.value === '') { onColorMergeThresholdChange(finalValue); }