функция автозаполнения - при выборе автозаполнения заполнение других полей не работает - PullRequest
0 голосов
/ 05 мая 2019

Я вернул адресную информацию в 'this.address'

ngOnInit()  {

    // this.getAddresses();

    this.searchAddress.valueChanges.subscribe(
      term => {
        if (term != '') {
    this.addressAutoCompleteService.search(term).subscribe(
      data => {
                  this.addresses = Object.keys(data).map((key)=> {return data[key]}) ;                  
                  console.log('this.address', this.addresses)                 
              });
            }
        })
      }

Возвращенный this.address на консоли выглядит следующим образом: введите описание изображения здесь

Был в состоянии выполнить цикл и автозаполнение поля ввода, как показано ниже:

 <form>
      <mat-form-field class="container">

        <input type="text"  (input)="onInputChanged($event.target.value)" placeholder="Search addresses ..."
            matInput 
            [formControl]="searchAddress" 
            [matAutocomplete]="auto"
            >  

        <mat-autocomplete #auto="matAutocomplete">
          <ng-container *ngFor='let filteredAddresses of addresses'>
              <mat-option *ngFor="let address of filteredAddresses" [value]="address.Text">
                <small>{{address.Text}}</small>
              </mat-option>
              </ng-container>

        </mat-autocomplete>
    </mat-form-field>
</form>

Но когда я выбрал один из адресов из заполнителя 'select address', я не смог загрузить другие поля, такие как addressline1, указанный ниже (другая информация вернулась из web api)

<div class="tab-pane" id="address" role="tabpanel">
      <div class="row">

 <div class="form-group col-md-3 col-sm-3 col-xs-12">
          <label l10nTranslate
            >addressLine1</label
          >
          <input
            class="form-control"
            [formControl]="control.address.addressLine1"
          />
        </div>

</div>
</div>

и при изменении «поискового адреса», как очистить все остальные поля, такие как addressline1.

Спасибо.

...