Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
Reaccionar: ¿Por qué la función de autocompletar restablece involuntariamente el valor seleccionado?

Buenas noches, estoy tratando de resolver un problema donde se restablece el valor de autocompletar. Esto sucede cuando cambio el estado de la interfaz de usuario (ejemplo en sandbox). Quiero que el valor siga ahí, si un usuario decide volver atrás y cambiarlo. No sé por qué el autocompletar reacciona de esa manera, pero no he encontrado una solución.

¿Alguna sugerencia de cómo resolver esto?

Enlace: https://codesandbox.io/s/sharp-diffie-6ikc6?file=/index.js

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Debe utilizar la versión controlled de la función de autocompletar. El problema es causado por la devolución de llamada onInputChange , que se activó no solo para seleccionar la opción. En su caso, React elimina el autocompletado de DOM (debido a su switch ) y se onInputChange con un valor vacío, por lo que su estado cambia a una cadena vacía.

Para evitar esto, debe usar value y onChange en su lugar. onChange se activa solo si cambia la opción.

 const [value, setValue] = useState(null);
 <Autocomplete value={value} disablePortal id="combo-box-demo" options={movies.sort( (a, b) => -b.distributor.localeCompare(a.distributor) )} onChange={onInputChange} groupBy={(option) => option.distributor} getOptionLabel={(option) => option.movie} sx={{ width: "100%", paddingRight: 2 }} renderInput={(params) => ( <TextField style={{ backgroundColor: "#fff", marginLeft: 25 }} {...params} label="Movie" /> )} selectOnFocus={false} />

Échale un vistazo: https://codesandbox.io/s/peaceful-shamir-r2dwi?file=/index.js

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!