Angular matAutocomplete не закрывается

Я практически не знаком с фронтендом, но нужно сделать функционал, поэтому прошу понять и простить. Проблема: При нажатии на input не закрывается matAutocomplete для другого input'a Html

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<ng-container>
  <h2 mat-dialog-title>
    {{ title }}
  </h2>

  <mat-form-field *ngFor="let department of companyPermissionInformation.departmentsList" class="chip-list"
                  appearance="fill">
    <mat-label>{{department}}</mat-label>
    <mat-chip-list #chipList aria-label="Permission selection">
      <mat-chip
        *ngFor="let companyPermission of companyPermissionInformation.companyDepartmentPermissionsMap.get(department)"
        (removed)="remove(department, companyPermission, trigger, chip)">
        {{companyPermission.permission | translate}}
        <mat-icon matChipRemove>cancel</mat-icon>
      </mat-chip>
      <input
        #chip
        #trigger="matAutocompleteTrigger"
        (click)="open($event, trigger,auto,chip)"
        [formControl]="formControl"
        [matAutocomplete]="auto"
        [matChipInputFor]="chipList"
      >
    </mat-chip-list>
    <mat-autocomplete #auto="matAutocomplete"
                      (optionSelected)="selected($event, department, chip)">
      <mat-option *ngFor="let permission of filteredPermission.get(department)">
        {{permission | translate}}
      </mat-option>
    </mat-autocomplete>
  </mat-form-field>

  <div mat-dialog-actions fxLayoutAlign='end'>
    <button mat-button [mat-dialog-close]='null'>
      {{ 'cancel' | translate }}
    </button>

    <button
      #saveButton
      mat-raised-button
      color='primary'
      (click)='save()'
    >
      {{ 'save' | translate }}
    </button>
  </div>
</ng-container>

ts

 remove(department: string, permission: DepartmentPermission, trigger: MatAutocompleteTrigger, chip: HTMLInputElement): void {
    chip.value = "";
    trigger.closePanel();
    const index = this.companyPermissionInformation.companyDepartmentPermissionsMap.get(department).indexOf(permission);
    if (index >= 0) {
      this.companyPermissionInformation.companyDepartmentPermissionsMap.get(department).splice(index, 1);
    }
    this.input.nativeElement.value = '';
    this.formControl.setValue(null);
    this.filteredPermission.get(department).push(permission.permission);
  }

  selected(event: MatAutocompleteSelectedEvent, department: string, chip: HTMLInputElement): void {
    chip.value = "";
    let newPermission: DepartmentPermission = new DepartmentPermission();
    let permissionName = this.mapper(event.option.viewValue);
    newPermission.id = null;
    newPermission.permission = permissionName;
    this.companyPermissionInformation.companyDepartmentPermissionsMap.get(department).push(newPermission);
    this.input.nativeElement.value = '';
    this.formControl.setValue(null);
    const index = this.filteredPermission.get(department).indexOf(permissionName);
    this.filteredPermission.get(department).splice(index, 1);
    if (this.filteredPermission.get(department).length == 0) {
      chip.value = '';
    }
  }

 

  open(event: MouseEvent, trigger: MatAutocompleteTrigger, auto: MatAutocomplete, chip: HTMLInputElement) {
    event.stopPropagation();
    trigger.openPanel();
  }

Что пробовал: Закрывать по событиями (blur,focusout), но тогда не срабатывает функия selected, так как при выборе так же теряется фокус Проблема При нажатии на другой div с формой matAutocomplete закрывается, при нажатии на input нет Буду очень благодарен за любую помощь


Ответы (0 шт):