Как скрыть мат-флажок из файла typescript

#angular #typescript #angular-material

#angular #typescript #angular-материал

Вопрос:

Мне нужно скрыть элемент mat-checkbox управления из typescript файла на основе изменения выбора вкладки в моем приложении.

Это html код файла

 <mat-checkbox (change)="OnChangeRed($event)" id="check1" class="example-margin" [checked]="matCheckboxRed"></mat-checkbox> 
  

Вкладки в одном html файле

 <div>    
<mat-tab-group #tabRef (selectedTabChange)="tabChanged(tabRef.selectedIndex)">
  <mat-tab label="ALL"></mat-tab>
  <mat-tab label="Actvie"></mat-tab>
  <mat-tab label="Inactive"></mat-tab>
  <mat-tab label="Deliverted"></mat-tab>
</mat-tab-group>    
</div>
  

Когда моя вкладка меняет вызов, мне нужно скрыть флажок

 tabChanged(index)
{

}
  

Как я могу это сделать

Комментарии:

1. пожалуйста, поделитесь также реализацией вкладок ur

2. @YogendraR — Пожалуйста, проверьте мой обновленный вопрос.

Ответ №1:

Вы можете использовать ngModel с флажком следующим образом:

 <mat-checkbox *ngIf="show" (change)="OnChangeRed($event)" id="check1" class="example-margin" [checked]="matCheckboxRed"></mat-checkbox> 
  

и в событии tabChanged вы можете изменить отображаемое значение в соответствии с запущенной вкладкой:

 show: boolean = true;

tabChanged(index)
{
   if(index == "your tab index"){
     this.show = false;
   }

}
  

Другой подход с использованием ViewChild:

 <mat-checkbox #checkbox (change)="OnChangeRed($event)" id="check1" class="example-margin" [checked]="matCheckboxRed"></mat-checkbox> 
  

и в файле ts:

 @ViewChild('checkbox') el:ElementRef;

    tabChanged(index)
    {
       if(index == "your tab index"){
     this.el.nativeElement.style.display='none';
       }
    }