Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

238
Visualizações
DatePicker arroja TypeError no capturado de indefinido en onChange

Tengo un DatePicker que arroja el siguiente mensaje de error: Uncaught TypeError: Cannot read properties of undefined (reading 'value') .

Mis datos se extraen de una API donde el campo de fecha de algunos elementos es nulo. La representación inicial de la página está bien, donde se muestran los campos de texto y 2 selectores de fecha vacíos, pero cuando ingreso una fecha, aparece el error.

Cuando un elemento tiene un valor de fecha, la API lo devuelve así Aug 12 2020 12:00AM a. m.

Quiero ignorar la hora y agregar la fecha al selector de fecha cuando hay una fecha presente. Si no hay fecha, quiero agregar la fecha de hoy.

El siguiente código mostrará un TextField o un DatePicker basado en el valor de FieldType .

Aquí está mi solicitud de API:

 const [details, setDetails] = useState(""); const fetchDetails = async () => { setBusy(true); setDetails(await fetch(`/fiscalyears/FY2023/intakes/${params.id}/details`).then((response) => response.json())); setBusy(false); };

Así es como cambio entre TextFields, Selects y DatePicker:

 return ( <Box> {details["fields"]?.map((row, index) => { if (row?.FieldType === "Text" || row?.FieldType === "Decimal" || row?.FieldType === "Number") { return ( <TextField value={row?.Value || ""} onChange={(e) => { setDetails((prev) => { const update = [...prev.fields]; update[index] = { ...update[index], Value: e.target.value, }; return { ...prev, fields: update }; }); }} /> ); } if (row?.FieldType === "Date") { return ( <LocalizationProvider dateAdapter={AdapterDateFns}> <DatePicker label={row?.FieldName || ""} renderInput={(params) => <TextField {...params} />} value={row?.Value || ""} onChange={(e) => { setDetails((prev) => { const update = [...prev.fields]; update[index] = { ...update[index], Value: e.target.value, }; return { ...prev, fields: update }; }); }} /> </LocalizationProvider> ); } })} </Box> )
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda