Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

242
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda