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

371
Views
Material-UI: cómo hacer que un acordeón controlado se comporte como un acordeón básico

Soy un desarrollador Junior, esta es mi primera pregunta aquí

Estoy usando un acordeón controlado porque necesito que el ícono cambie dinámicamente, pero quiero que permanezca abierto cuando expando un panel, incluso si expandí otro panel como lo hace el básico.

Entiendo que tiene que ver con la función handleChange pero su lógica me supera por ahora

Estoy trabajando con React

Algunas ideas ?

 const [expanded, setExpanded] = React.useState(false); const handleChange = (panel) => (event, isExpanded) => { setExpanded(isExpanded ? panel : false); }; {grant?.generalRequirementsDetails.length ? ( <div className="grant-info-items"> <MuiAccordion expanded={expanded === 'panel1'} onChange={handleChange('panel1')} > <AccordionSummary expandIcon={ expanded ? ( <img src={lessSVG} alt="less" /> ) : ( <img src={moreSVG} alt="more" /> ) } aria-controls="panel1bh-content" id="panel1bh-header" > <h3 sx={{ width: '33%', flexShrink: 0 }}> Requisitos generales </h3> </AccordionSummary> <AccordionDetails> {grant?.generalRequirementsDetails.map( (item, idx) => ( <div key={idx} className="grant-item"> <img src={tickSVG} /> <p>{item}</p> </div> ), )} </AccordionDetails> </MuiAccordion> </div> ) : null}

Tengo otro par de paneles similares a este, así que cuando hago clic en uno y luego en otro, quiero que ambos estén abiertos a menos que vuelva a hacer clic en uno de ellos y ese panel se colapse como en el acordeón básico.

aquí está el enlace del componente MUI del que estoy hablando: https://mui.com/components/accordion/

Gracias por tu ayuda !

about 4 years ago · Juan Pablo Isaza
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!