以下のコードでは、国選択オプションが何度も起動され、ブラウザが応答しなくなりました。
<div [formGroup]="countryForm">
<mat-form-field>
<mat-select formControlName="selectedCountry" class="my-item-text" placeholder="Country">
<mat-option (onSelectionChange)="onCountrySelectionChanged($event)" *ngFor="let myCountry of countries" [value]="myCountry.short" class="my-item-text">{{ myCountry.name }}
</mat-option>
</mat-select>
</mat-form-field>
</div>
および以下のような私のコンポーネントコード
onCountrySelectionChanged(changeEvent) {
if (changeEvent && changeEvent.isUserInput && this.selectedCountry != changeEvent.source.value) {
this.countrySelected.emit( changeEvent.source.value);
}
}
ユーザー変更イベント[isUserInput]かどうかをチェックし、値が実際に変更されたかどうかをチェックして制限しようとしました! これで、火災イベントを減らすことができ、アプリケーションは正常に動作します。
mat-select コンポーネントを使用しているすべての場所で上記のロジックを含めているため、select-option を使用するより良い方法はありますか。