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

251
Vistas
Botón de alternancia de la tabla de materiales angulares si el estado es igual a 'Cerrado'

Tengo una tabla de datos de material angular (tabla de entradas) que contiene todos los datos de las entradas. Hay un parámetro 'Estado' que contiene 'Abierto', 'En curso' y 'Cerrado'. En la columna Acción, hay 3 botones Ver más, Actualizar progreso y Seguimiento de ticket. Quiero ocultar el botón 'Actualizar progreso' si el Estado es igual a 'Cerrado'.

ingrese la descripción de la imagen aquí

Aquí está el código para la tabla HTML que probé pero no funcionó.

 <!-- Status Column --> <ng-container matColumnDef="status"> <th mat-header-cell *matHeaderCellDef>Status</th> <td mat-cell *matCellDef="let element" id="status"> {{ element.status }} </td> </ng-container> <!-- Action Column --> <ng-container matColumnDef="action"> <th mat-header-cell *matHeaderCellDef>Action</th> <td mat-cell *matCellDef="let element"> <button mat-icon-button [matMenuTriggerFor]="menu"> <mat-icon>more_vert</mat-icon> </button> <mat-menu #menu="matMenu"> <button mat-menu-item (click)="openDialog(element)"> <mat-icon>assignment</mat-icon> <span>See More</span> </button> <div *ngIf="isShowDiv[element.id]"> <button mat-menu-item routerLink="updatestatus/{{ element.id }}"> <mat-icon>update</mat-icon> <span>Update Progress</span> </button> </div> <button mat-menu-item routerLink="trackticket/{{ element.id }}"> <mat-icon>drafts</mat-icon> <span>Track Ticket</span> </button> </mat-menu> </td> </ng-container>

Código mecanografiado:

 public isShowDiv: { [key: number]: boolean } = {}; ngOnInit(): void { // Get all data from formdata var obj = JSON.parse(localStorage.getItem('formdata')!); // Set data to dataSource this.dataSource = new MatTableDataSource(obj); // Looping through localStorage's data length for (var i = 0; i < obj.length; i++) { // Filtering the Update Progress button if status is closed console.log('Status', JSON.stringify(obj[i].status)); if (obj[i].status == 'Closed') { this.isShowDiv[obj[i].id] == true; } else { this.isShowDiv[obj[i].id] == false; } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Ya tiene la referencia al elemento, ¿por qué no omitir la lógica isShowDiv y reemplazar <div *ngIf="isShowDiv[element.id]"> con <div *ngIf="element.status != 'closed'">

about 4 years ago · Juan Pablo Isaza Denunciar

0

¡O simplemente use no operador ! en la plantilla. Podría funcionar. Si solo quieres que ese desaparezca.

 <div *ngIf="!isShowDiv[element.id]"> <button mat-menu-item routerLink="updatestatus/{{ element.id }}"> <mat-icon>update</mat-icon> <span>Update Progress</span> </button> </div>
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