Переключить содержимое "mat-cell" на основе значения элемента - PullRequest
0 голосов
/ 24 октября 2018

Есть ли способ проверить значение свойства элемента (в данном случае element.VerificationCode) и, основываясь на этом, переключить содержимое ячейки?

Мне нужно показать VerificationCode в ячейке, и еслиelement.VerificationCode имеет значение null, затем покажите кнопку для ее генерации.

Пример

<ng-container matColumnDef="VerificationCode">
  <th mat-header-cell *matHeaderCellDef mat-sort-header> Family code </th>
     <td mat-cell *matCellDef="let element" (click)="$event.stopPropagation()
       <!-- 1 -->
         {{element.VerificationCode}}
       <!-- 2 -->        
         <button  mat-stroked-button (click)="genVerificationCode(group.id)">
             Generate 
         </button>         
 </td>
</ng-container>

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Альтернатива версии @ TeddySterne (я считаю, что это предпочтительный способ сделать это в последних версиях Angular, но я могу ошибаться):

<td mat-cell *matCellDef="let element" (click)="$event.stopPropagation()">
  <ng-container *ngIf="element.VerificationCode">{{element.VerificationCode}}</ng-container>
  <button *ngIf="!element.VerificationCode" mat-stroked-button (click)="genVerificationCode(group.id)">Generate</button>        
</td>
0 голосов
/ 24 октября 2018

Вы можете использовать ngIf с оператором else для его выполнения.Пример:

<td mat-cell *matCellDef="let element" (click)="$event.stopPropagation()">
 <span *ngIf="element.VerificationCode; else showButton">{{element.VerificationCode}}</span>
 <ng-template #showButton>
   <button mat-stroked-button (click)="genVerificationCode(group.id)">
       Generate 
   </button>  
 </ng-template>       
</td>
...