首页 > 解决方案 > 如何在 Angular 11 中重新渲染元素

问题描述

当我选择选项变量isdate更改但检查是否不起作用

<mat-select 
    (selectionChange)="selectOption($event.value)" 
[(ngModel)]="isDate">
   <mat-option *ngFor="let item of dateTime" value="{{item.checkDateTime}}">
       {{item.name}}
   </mat-option>
</mat-select>
<div *ngIf="isDate"> day</div>
<div *ngIf="!isDate"> time</div>

dateTime: DateTime[] = [
    {
      name: 'day',
      checkDateTime: true
    },
    {
      name: 'time',
      checkDateTime: false
    }
];

isDate: boolean;
selectOption(value): void{ 
    this.isDate = value;
}   

如何隐藏和显示日期和时间倒数?

标签: angularrenderelementshowangular11

解决方案


使用 ngModel 时不需要函数 selectOption。使用 mat-option 值作为角度属性:

<mat-option [value]="item.checkDateTime"></mat-option>

推荐阅读