diff --git a/app/pages/component/[id]/edit.vue b/app/pages/component/[id]/edit.vue index 310530e..4d9271c 100644 --- a/app/pages/component/[id]/edit.vue +++ b/app/pages/component/[id]/edit.vue @@ -803,7 +803,9 @@ watch( void ensureConstructeurs(editionForm.constructeurIds) } - refreshCustomFieldInputs(currentStructure, currentComponent.customFieldValues) + // After setting selectedTypeId, read selectedTypeStructure.value (now updated) instead of + // the stale destructured currentStructure which was captured before the ID change. + refreshCustomFieldInputs(selectedTypeStructure.value ?? currentStructure, currentComponent.customFieldValues) initialized = true }, diff --git a/app/pages/pieces/[id]/edit.vue b/app/pages/pieces/[id]/edit.vue index b9a357d..b82804a 100644 --- a/app/pages/pieces/[id]/edit.vue +++ b/app/pages/pieces/[id]/edit.vue @@ -837,7 +837,10 @@ watch( pendingProductIds = [] } - refreshCustomFieldInputs(currentType?.structure ?? null, currentPiece.customFieldValues) + // After setting selectedTypeId, read selectedType.value (now updated) instead of + // the stale destructured currentType which was captured before the ID change. + const resolvedType = selectedType.value ?? pieceTypeDetails.value ?? null + refreshCustomFieldInputs(resolvedType?.structure ?? null, currentPiece.customFieldValues) initialized = true }, @@ -848,9 +851,7 @@ watch(selectedType, (currentType) => { if (!piece.value || !currentType) { return } - if (!pieceTypeDetails.value) { - refreshCustomFieldInputs(currentType.structure, piece.value.customFieldValues) - } + refreshCustomFieldInputs(currentType.structure, piece.value.customFieldValues) }) watch(resolvedStructure, (currentStructure) => {