fix: handle default values in date select

This commit is contained in:
Christel Westerberg
2024-12-02 13:54:32 +01:00
parent b9803adaa6
commit 403e1e7cf8

View File

@@ -76,7 +76,6 @@ export default function DateSelect({ name, registerOptions = {} }: DateProps) {
}
}
if (year && month && day) {
const newDate = dt()
.year(Number(year))
.month(Number(month) - 1)
@@ -89,7 +88,6 @@ export default function DateSelect({ name, registerOptions = {} }: DateProps) {
shouldValidate: true,
})
}
}
}, [year, month, day, setValue, name, formState.isSubmitting])
let dateValue = null
@@ -106,6 +104,16 @@ export default function DateSelect({ name, registerOptions = {} }: DateProps) {
console.warn("Known error for parse date in DateSelect: ", error)
}
useEffect(() => {
if (formState.isSubmitting) return
if (!(day && month && year) && dateValue) {
setValue(DateName.day, Number(dateValue.day))
setValue(DateName.month, Number(dateValue.month))
setValue(DateName.year, Number(dateValue.year))
}
}, [setValue, formState.isSubmitting, dateValue, day, month, year])
return (
<DatePicker
aria-label={intl.formatMessage({ id: "Select date of birth" })}