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

111
Vistas
agregando ang eliminando fila

Tengo una matriz de cuadrícula de objetos y tiene datos predeterminados de la base de datos, ahora en la parte frontal, los datos se muestran en la tabla/cuadrícula y el usuario puede agregar filas y eliminar filas, cuando agrego una fila solo quiero insertar un objeto vacío.

mi problema es cuando agrego una fila, existen identificaciones duplicadas y cuando elimino solo una fila, a veces se eliminan varias filas

¿Cuál parece ser el problema de mi implementación? ¿Cómo elimino y agrego filas sin comprometer las identificaciones? Gracias.

ingrese la descripción de la imagen aquí

#datos de cuadrícula - de la base de datos

 gridTableData [ { "id": 0, "demos": "21 Est. Pop", }, { "id": 1, "demos": "Households", }, { "id": 5, "demos": "Avg HH Inc", }, ]

#agregar y eliminar código de fila

 deleteRow(id: number) { const filteredDemographics = this.gridTableData.filter(s => s.id !== id); this.gridTableData = [...filteredDemographics]; } addRow() { this.gridTableData.push({id:this.gridTableData.length}); console.log("this.gridTableData" , this.gridTableData) }

#html

 <tbody *ngIf="gridTableData.length > 0"> <tr *ngFor="let row of gridTableData;let i = index" [ngClass]="{'row-is-editing':isRowEditing(i)}"> <td> <button *ngIf="checkIfExistsOnDefaultGrid(row) === false" class="material-icons-outlined" mat-icon-button color="error" (click)="deleteRow(row.id)"> <mat-icon>delete_outline</mat-icon> </button> </td> </tr> </tbody>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si está agregando con la longitud de la fila y eliminando por índice, es posible que obtenga algunos casos extraños.

Por ejemplo, si agrega dos entradas en su fragmento, tendrá 2 filas con ID 5. Por lo tanto, cuando filtre/elimine, eliminará dos entradas.

Si desea cambiar el orden, utilice siempre el índice para eliminar o agregar.

Si desea utilizar una identificación, asegúrese de que la identificación siempre sea única.

Aquí hay una posible solución que hace que la ID sea aleatoria https://stackblitz.com/edit/angular-pebbqb?file=src/app/app.component.ts

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