Я вернул адресную информацию в '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.
Спасибо.