Угловое входное событие срабатывает только в IE - PullRequest
0 голосов
/ 14 ноября 2018

Событие ввода institutionOnChange запускается только в IE11, а не в Chrome. Элемент управления формы инициализируется в ngOnInit

<mat-form-field>
  <input matInput required #instititionInput [matAutocomplete]="auto"
      [formControl]="form.get('institution')"
      (input)="institutionOnChange($event)"
      i18n-placeholder placeholder="Institution of Incident"
      i18n-aria-label aria-label="Institution of Incident">

  <mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn">
    <mat-option *ngFor="let institution of filteredInstitutions | async"
        [value]="institution" (onSelectionChange)="institutionSelectionChange($event)">
      {{institution.name}}
    </mat-option>
  </mat-autocomplete>

  <mat-hint *ngIf="form.get('institutionId').hasError('required')" i18n>
    <span class="mat-error">Please choose a institution</span>
  </mat-hint>
</mat-form-field>

Проблема заключается в очистке другого значения при изменении, пока элемент не выбран

institutionOnChange(event) {
  this.form.get('institutionId').setValue('');
}

public ngOnInit() {
  ...
  if (institutionId) {

    const foundInstitution = this.institutions.find(institution => institution.id === institutionId);

    if (foundInstitution) {
      this.form.get('institution').setValue(foundInstitution);
      this.form.get('institutionId').setValue(institutionId);
    }
  }
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...