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

142
Views
Lista plegable con un botón de carga adicional para mostrar todos los elementos de esta lista

Estoy desarrollando una lista plegable que solo muestra los primeros cinco elementos y un botón para cargar más al principio, y cuando hago clic en el botón para cargar más, se debe mostrar la lista completa. Estoy usando scrollHeight para determinar la altura de esta lista plegable y funciona bien para mostrar los primeros cinco elementos y el botón Cargar más, pero después de hacer clic en el botón Cargar más, la altura de esta lista plegable no cambia y los elementos restantes no se pueden se muestra debido a la restricción de altura. ¿Alguien tiene una idea de cómo solucionarlo? Muchas gracias, realmente me quedé atrapado aquí todo este día.

Así es como esta lista colapsable se parece a la lista colapsable

Este es el código de la lista colapsable

 const Collapsible = ({ showCard, loaded, children }) => { const collapsibleEl = useRef(); const [scrollHeight, setscrollHeight] = useState(); useEffect(() => { setscrollHeight(collapsibleEl.current.scrollHeight); console.log(collapsibleEl.current.scrollHeight); }, [loaded, showCard]); return ( <> <div className={styles.collapsible} ref={collapsibleEl} style={ showCard ? scrollHeight ? { height: `${scrollHeight + 100}px` } : { height: `${collapsibleEl.current.scrollHeight + 100}px` } : { height: "0px" } } > {children} </div> </> ); }; export default Collapsible;
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Lo he descubierto, todo lo que necesito hacer es usar settimeout.

así, solo dale un poco de tiempo para obtener la altura de desplazamiento y luego vuelve a renderizar.

 useEffect(() => { setTimeout(() => { setscrollHeight(collapsibleEl.current.scrollHeight); }, 300); console.log(collapsibleEl.current.scrollHeight); }, [showCard, loaded]);
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!