В приведенном ниже коде параметры выбора моей страны запускаются так много раз, что браузер перестает отвечать.
<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], а также проверка, действительно ли значение изменилось!Теперь я могу уменьшить количество событий пожара, и приложение работает нормально.
Есть ли лучший способ использовать опцию select, поскольку теперь я включаю вышеуказанную логику везде, где использую компонент mat-select.