Angular Forms: On autocomplete select, define formcontrol value different to input value
如何屏蔽表单控件名称的输入。 您可以通过简单地为 实现
HTML
当显示自动完成时,您只会看到 airport.name。
当用户选择一个机场时,我想在输入值中显示 airport.name 但在 formControl 中我想将机场对象设置为值,因为当我进行搜索时,我需要的不仅仅是一个字符串来查找数据。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<input
matInput
formControlName="departure_airport"
#el_departure_input
class="[ flight-travel-form__airport__input ][ typography-sub-heading ]"
value=""
placeholder="Departure"
[matAutocomplete]="auto"
/>
</mat-form-field>
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let airport of active_search_suggestions$ | async" [value]="airport" class="ten-autocomplete">
{{ airport.name.toLowerCase() }}
<span class="typography-small-text">{{ airport.iata_code }}</span>
Any Airport
</mat-option>
</mat-autocomplete>
刚刚为它创建了一个 stackblitz:https://stackblitz.com/edit/angular-nj3saw