Я создал поле автозаполнения с помощью Angular Material и успешно получил список стран из веб-API.
CountryID -> значение элемента (или индекс)
Страна -> текст позиции
Когда я пытаюсь получить значение выбранного элемента (не текст), он возвращает текст, как ожидалось. Но мне нужно получить стоимость выбранного предмета.
Это мой код:
this.WeatherSearchForm.get('country').value; // this returns the selected country name, ex: France
а также
<md-input-container>
<input mdInput placeholder="Select Country..." [mdAutocomplete]="auto" class="form-control validate filter-input" formControlName="country">
</md-input-container>
<md-autocomplete #auto="mdAutocomplete" md-input-name="autocompleteField" required md-input-minlength="2" md-input-maxlength="18"
md-select-on-match required md-input-minlength="2">
<md-option *ngFor="let country of countries | async" [value]="country.Country">
{{ country.Country }}
</md-option>
</md-autocomplete>
Изменить: после того, как я изменил эту строку
<md-option *ngFor="let country of countries | async" [value]="country.Country">
к этому,
<md-option *ngFor="let country of countries | async" [value]="country.CountryID">
он работал нормально, this.WeatherSearchForm.get('country').value;
вернул CountryID.
Но на стороне пользовательского интерфейса после выбора страны в поле автозаполнения теперь я вижу CountryID, а не Country.