• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

166
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; } }
almost 3 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'">

almost 3 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>
almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda