diff --git a/addons/mail/static/src/component_hooks/use_component_to_model/use_component_to_model.js b/addons/mail/static/src/component_hooks/use_component_to_model/use_component_to_model.js index fdc80fab382..b337cc782e2 100644 --- a/addons/mail/static/src/component_hooks/use_component_to_model/use_component_to_model.js +++ b/addons/mail/static/src/component_hooks/use_component_to_model/use_component_to_model.js @@ -22,10 +22,10 @@ export function useComponentToModel({ fieldName, modelName }) { } onWillUpdateProps(nextProps => { const currentRecord = modelManager.models[modelName].get(component.props.localId); - if (currentRecord) { + const nextRecord = modelManager.models[modelName].get(nextProps.localId); + if (currentRecord && currentRecord !== nextRecord) { currentRecord.update({ [fieldName]: clear() }); } - const nextRecord = modelManager.models[modelName].get(nextProps.localId); if (nextRecord) { nextRecord.update({ [fieldName]: component }); } diff --git a/addons/mail/static/src/component_hooks/use_ref_to_model/use_ref_to_model.js b/addons/mail/static/src/component_hooks/use_ref_to_model/use_ref_to_model.js index ec186423bd8..a9e613b3125 100644 --- a/addons/mail/static/src/component_hooks/use_ref_to_model/use_ref_to_model.js +++ b/addons/mail/static/src/component_hooks/use_ref_to_model/use_ref_to_model.js @@ -24,10 +24,10 @@ export function useRefToModel({ fieldName, modelName, refName }) { } onWillUpdateProps(nextProps => { const currentRecord = modelManager.models[modelName].get(component.props.localId); - if (currentRecord) { + const nextRecord = modelManager.models[modelName].get(nextProps.localId); + if (currentRecord && currentRecord !== nextRecord) { currentRecord.update({ [fieldName]: clear() }); } - const nextRecord = modelManager.models[modelName].get(nextProps.localId); if (nextRecord) { nextRecord.update({ [fieldName]: ref }); }