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