Постарайтесь сделать автозаполнение угловым материалом, который заставит пользователя выбрать автозаполнение.Я следил за этой темой, но, похоже, она не работает:
Выбор силы автозаполнения углового материала
Я попробовал подход с добавлением размытия к входу и optionSelected.Но кажется, что событие размытия всегда срабатывает перед моим optionSelect, поэтому optionSeleced никогда не срабатывает.
<mat-form-field class="example-full-width">
<div formGroupName="CityGroup">
<input (blur)="checkCity()" #autoComplInput type="text" placeholder="city" aria-label="Number" required matInput
formControlName="cityName" [matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete">
<mat-option (click)="optionSelect(option,$event)" *ngFor="let option of filteredOptionsCity | async" [id]='0'
[value]="option.cityName">
{{option.cityName}}
</mat-option>
</mat-autocomplete>
</div>
<mat-form-field>
TS
checkCity() {
if (!this.selectedCity.cityName ||
this.selectedCity.cityName !== this.form.get('CityGroup').get('cityName').value) {
this.form.get('CityGroup').get('cityName').setValue('');
this.selectedCity = '';
}