diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx index 1527e084503d4..c2b6807a5833f 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx @@ -608,7 +608,15 @@ export const CreateWorkspacePageViewExperimental: FC<
{parameters.map((parameter, index) => { - const parameterField = `rich_parameter_values.${index}`; + const currentParameterValueIndex = + form.values.rich_parameter_values?.findIndex( + (p) => p.name === parameter.name, + ) ?? -1; + const parameterFieldIndex = + currentParameterValueIndex !== -1 + ? currentParameterValueIndex + : index; + const parameterField = `rich_parameter_values.${parameterFieldIndex}`; const isPresetParameter = presetParameterNames.includes( parameter.name, ); @@ -629,8 +637,13 @@ export const CreateWorkspacePageViewExperimental: FC< return null; } + // Get the form value by parameter name to ensure correct value mapping const formValue = - form.values?.rich_parameter_values?.[index]?.value || ""; + currentParameterValueIndex !== -1 + ? form.values?.rich_parameter_values?.[ + currentParameterValueIndex + ]?.value || "" + : ""; return (