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

252
Views
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 answers
Answer question

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 Report

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 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!