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

174
Views
Angular: ajuste la altura del elemento de entrada enlazado de dos vías de acuerdo con la longitud de su contenido

Quiero hacer que la altura de mi texto de entrada se ajuste a su contenido de texto . Puedo lograr eso fácilmente cuando el usuario está llenando el contenido activando el evento (input) , que llama a mi función de adjustHeight de altura que actualiza la altura del elemento de entrada usando scrollHeight .

Ejemplo de código a continuación:

 <textarea #myLabel (input)="adjustHeight(myLabel)" [(ngModel)]="labelValue"> </textarea> adjustHeight(element: HTMLElement) { element.style.height = "5px"; element.style.height = (element.scrollHeight)+"px"; }

Esto funciona bien cuando el usuario está llenando el elemento de entrada, pero cuando el texto de entrada se representa con un labelValue ya lleno (proveniente de una respuesta API), la altura del área de texto no cambia dinámicamente ya que no se activa ningún evento (de entrada) .

Traté de usar el evento (ngModelChange) pero no parece activarse. ¿Hay algún otro evento que pueda vincularse al elemento de entrada para cuidar su altura en el renderizado ? Gracias por adelantado

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

0

modelo:

 <textarea #myLabel [style.height]="getHeight(myLabel)" [(ngModel)]="labelValue"> </textarea>

mecanografiado:

 public getHeight(element: HTMLElement): string { return element.scrollHeight + 'px'; }

de esta manera, el estilo cambiará cuando sea necesario.

about 4 years ago · Juan Pablo Isaza Report

0

Intente comenzar inicializando labelValue a '' primero (cuando lo declare), y luego asigne su valor como debería estar haciendo ahora.

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!