fix: 修复参数配置中数值为0时无法正确显示的问题
修复了ComfyUI V2工作流模板参数配置中的关键bug: 🐛 问题描述: - 当数值参数(最小值、最大值、步长、默认值等)设置为0时,由于JavaScript的falsy值特性,使用 || 操作符会导致显示空字符串而不是0 🔧 修复内容: - ✅ 最小值字段:schema.min || '' → schema.min !== undefined ? schema.min : '' - ✅ 最大值字段:schema.max || '' → schema.max !== undefined ? schema.max : '' - ✅ 步长字段:schema.step || '' → schema.step !== undefined ? schema.step : '' - ✅ 默认值字段(数字类型):schema.default || '' → schema.default !== undefined ? schema.default : '' - ✅ 宽度字段:schema.width || '' → schema.width !== undefined ? schema.width : '' - ✅ 高度字段:schema.height || '' → schema.height !== undefined ? schema.height : '' - ✅ 时长字段:schema.duration || '' → schema.duration !== undefined ? schema.duration : '' - ✅ 文件大小字段:schema.maxSize ? Math.round(...) → schema.maxSize !== undefined ? Math.round(...) : '' 💡 技术细节: - 使用 !== undefined 检查而不是 || 操作符,确保0值能正确显示 - 保持字符串字段使用 || '' 的逻辑,因为空字符串是合理的默认值 - 确保所有数值类型字段都能正确处理0值 🎯 影响范围: - 整数类型参数的最小值、最大值、步长配置 - 浮点数类型参数的数值范围设置 - 媒体类型参数的尺寸和大小限制 - 所有数值类型的默认值设置 这个修复确保了用户可以正确设置0作为参数值, 特别重要的是最小值为0的场景(如步长、范围等)。
This commit is contained in:
parent
4b016c2702
commit
637c4e036f
|
|
@ -802,7 +802,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
step={schema.step || (schema.param_type === 'float' ? 0.01 : 1)}
|
||||
min={schema.min}
|
||||
max={schema.max}
|
||||
value={schema.default || ''}
|
||||
value={schema.default !== undefined ? schema.default : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
default: schema.param_type === 'integer' ? parseInt(e.target.value) || 0 : parseFloat(e.target.value) || 0
|
||||
|
|
@ -880,7 +880,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
<input
|
||||
type="number"
|
||||
step={schema.param_type === 'float' ? 0.01 : 1}
|
||||
value={schema.min || ''}
|
||||
value={schema.min !== undefined ? schema.min : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
min: e.target.value ? Number(e.target.value) : undefined
|
||||
|
|
@ -896,7 +896,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
<input
|
||||
type="number"
|
||||
step={schema.param_type === 'float' ? 0.01 : 1}
|
||||
value={schema.max || ''}
|
||||
value={schema.max !== undefined ? schema.max : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
max: e.target.value ? Number(e.target.value) : undefined
|
||||
|
|
@ -912,7 +912,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
<input
|
||||
type="number"
|
||||
step={schema.param_type === 'float' ? 0.001 : 1}
|
||||
value={schema.step || ''}
|
||||
value={schema.step !== undefined ? schema.step : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
step: e.target.value ? Number(e.target.value) : undefined
|
||||
|
|
@ -948,7 +948,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
</label>
|
||||
<input
|
||||
type="number"
|
||||
value={schema.maxSize ? Math.round(schema.maxSize / (1024 * 1024)) : ''}
|
||||
value={schema.maxSize !== undefined ? Math.round(schema.maxSize / (1024 * 1024)) : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
maxSize: e.target.value ? Number(e.target.value) * 1024 * 1024 : undefined
|
||||
|
|
@ -967,7 +967,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
</label>
|
||||
<input
|
||||
type="number"
|
||||
value={schema.width || ''}
|
||||
value={schema.width !== undefined ? schema.width : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
width: e.target.value ? Number(e.target.value) : undefined
|
||||
|
|
@ -982,7 +982,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
</label>
|
||||
<input
|
||||
type="number"
|
||||
value={schema.height || ''}
|
||||
value={schema.height !== undefined ? schema.height : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
height: e.target.value ? Number(e.target.value) : undefined
|
||||
|
|
@ -1001,7 +1001,7 @@ export const WorkflowTemplateCreator: React.FC<WorkflowTemplateCreatorProps> = (
|
|||
</label>
|
||||
<input
|
||||
type="number"
|
||||
value={schema.duration || ''}
|
||||
value={schema.duration !== undefined ? schema.duration : ''}
|
||||
onChange={(e) => updateParameter(paramName, {
|
||||
...schema,
|
||||
duration: e.target.value ? Number(e.target.value) : undefined
|
||||
|
|
|
|||
Loading…
Reference in New Issue