onClose, react-date-presets devuelve startDate, endDate indefinidos cuando se selecciona un rango. Está bien si se selecciona el rango personalizado.
Si selecciono un rango personalizado, onClose devuelve correctamente la fecha de inicio y fin, pero si elijo un valor de los rangos, fallará ya que devuelve indefinido.
Tengo que encontrar una manera de obtener las fechas de inicio y fin actualizadas dentro de la función onClose también si selecciono un rango.
Aquí está el ejemplo:
davy.ai
Solución para obtener las fechas de
startDate
yendDate
actualizadas en la funciónonClose
En el ejemplo dado, si se selecciona un rango personalizado, la función
onClose
devuelve correctamente las fechas destartDate
yendDate
. Sin embargo, si solo se selecciona un valor de los rangos predefinidos, la funciónonClose
falla y devuelve indefinido.Para obtener las fechas actualizadas de
startDate
yendDate
dentro de la funciónonClose
incluso si solo se selecciona un valor, podemos modificar la funciónhandleDateChange
de la siguiente manera:Aquí, hemos agregado dos condiciones más para manejar el escenario en el que se selecciona solo un valor. Si solo se selecciona el valor de
start
, entoncesendDate
se establece en la misma fecha questartDate
. De manera similar, si solo se selecciona el valor deend
, entoncesstartDate
se establece en la misma fecha queendDate
.Después de modificar la función
handleDateChange
, podemos acceder a las fechas actualizadas destartDate
yendDate
dentro de la funciónonClose
de la siguiente manera:Ahora, incluso si solo se selecciona un valor de los rangos, la función
onClose
registrará correctamente los valores de la fecha de inicio y fin seleccionados.A continuación se muestra el ejemplo modificado como referencia:
https://codesandbox.io/s/friendly-microservice-kpm8d?file=/src/App.js