автозаполнение не отображает начальное значение при использовании с [displayWith] - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть форма редактирования, которая отображает значение объекта сотрудника в другом поле формы, которое я редактирую. В форме есть несколько полей автозаполнения, которые связаны с объектами. Одним из них является поле адреса. Я использую displayWith для отображения полного адреса в виде строки в поле ввода автозаполнения. Он не отображает значение во входном поле автозаполнения при загрузке формы.

Вот код:

legalAddress: FormControl;

  this.legalAddress = new FormControl(
      this.data.addresses
        ? this._address.getAddressByType(this.data.addresses, AddressType.Legal)
        : '',
    );

<mat-form-field class="address-autocomplete">
  <input type="text" placeholder="Legal Address" aria-label="legaladdress" matInput [formControl]="legalAddress"
    [matAutocomplete]="lglAddress">
  <mat-error *ngIf="legalAddress.invalid">{{ getErrorMessage() }}</mat-error>
  <mat-autocomplete #lglAddress="matAutocomplete" [displayWith]="addressToString">
    <mat-option *ngFor="let address of legalAddresses | async" [value]="address">
      {{ address | addressToString }}
    </mat-option>
  </mat-autocomplete>
</mat-form-field>

1 Ответ

0 голосов
/ 07 апреля 2020

Я только что понял, что передаю строку в новом FormControl ('ab c ...'), тогда как я должен был передавать сам объект адреса.

  this.legalAddress = new FormControl(this.data.legalAddress);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...