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

248
Views
Cómo llamar a la función keyup en el cuadro de texto para cada formulario dinámico generado en Angular8

Estoy generando un formulario de forma dinámica, en el cuadro de texto, estoy vinculando la función de cálculo de BCT como se muestra a continuación <input matInput type="text" (keyup)="calculateBCT($event)" formControlName="avgBCT"> y devuelvo el resultado en el siguiente cuadro de texto con ngModel.

 <input matInput type="text" [(ngModel)]="calculatedResult" formControlName="avgCapacity">.

Salida esperada: si ingreso un valor en el cuadro de texto 0, llamará a la función de cálculo de BCT y reflejará el resultado solo en el cuadro de texto de resultado 0. Cuando ingrese el valor en el cuadro de texto 1, llamará a la función de cálculo de BCT y reflejará el resultado en el cuadro de texto de resultado 1 de la misma manera.

¿Alguien puede ayudarme a obtener el resultado esperado?

Aquí he creado una demostración de stackblitz con código

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

0

Pruebe esto, y vea si ayuda.

En app.component.html , realice los siguientes cambios:

  • Elimine [(ngModel)]="calculatedResult" ya que ya está usando formControlName
  • Pase el índice i para calcular BCT como (keyup)="calculateBCT($event, i)"

En app.component.ts , modifique el método de cálculo de BCT como:

 calculateBCT($event, index: number) { // Your existing logic goes here... const calculatedResult = result ? result : 0; // In below code, please put some checks to ensure that formControl does exist const formControl = this.itemTypes().at(index).get('avgCapacity'); formControl.setValue(calculatedResult); }

Editar:

Como ya tiene formGroup disponible en el archivo html, simplemente puede pasar lineItem como segundo parámetro para calculateBCT BCT y acceder a formControl como const formControl = lineItem.get('avgCapacity');

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!