diff --git a/src/components/CitySelector.jsx b/src/components/CitySelector.jsx index 692cfbf..48fdf75 100644 --- a/src/components/CitySelector.jsx +++ b/src/components/CitySelector.jsx @@ -15,7 +15,7 @@ const CitySelector = ({ ...props }) => { const { t } = useTranslation(); return ( <> - { - setOptions(defaultOptions); + if (defaultOptions.length!==0) setOptions(defaultOptions); if (initLoad && defaultOptions.length===0) { loadOptions(' '); } diff --git a/src/views/products/Detail/ProductInfoForm.jsx b/src/views/products/Detail/ProductInfoForm.jsx index d738b26..8bfbc9d 100644 --- a/src/views/products/Detail/ProductInfoForm.jsx +++ b/src/views/products/Detail/ProductInfoForm.jsx @@ -141,7 +141,7 @@ const InfoForm = ({ onSubmit, onReset, onValuesChange, editablePerm, infoEditabl }, }), ]}> - + @@ -408,7 +408,8 @@ function getFields(props) { return children; } -const serverData2Form = (productItem) => { +const serverData2Form = (_productItem) => { + const productItem = structuredClone(_productItem); const infoForRender = { city: productItem?.info?.city_id ? { value: productItem?.info?.city_id, label: productItem?.info?.city_name } : undefined, dept: { value: productItem?.info?.dept_id, label: productItem?.info?.dept_name }, @@ -421,7 +422,8 @@ const serverData2Form = (productItem) => { return { ...productItem, ...(productItem?.info || {}), ...infoForRender, lgc_details_mapped }; }; -const formValuesMapper2Server = (values) => { +const formValuesMapper2Server = (_values) => { + const values = structuredClone(_values); const destinationObject = { 'city': [ { key: 'city_id', transform: (value) => value?.value || value?.key || '' },