Angular 4-在下拉列表中找到选定的值

swa*_*ati 2 selectedvalue drop-down-menu angular angular-reactive-forms

我正在使用Angular 4反应形式创建一个下拉列表

<select id="city" formControlName="city" (change)="onCitySelect($event)" >
    <option *ngFor="let city of cities" [ngValue]="city" >
        {{ city }} 
    </option>
</select> 
Run Code Online (Sandbox Code Playgroud)

在下拉列表中选择一个值时,我想调用一个方法并显示所选值。

这是我的代码

onCitySelect(event) {
    console.log(event.target.value);
}
Run Code Online (Sandbox Code Playgroud)

我希望它能打印下拉列表中所示的城市名称。但是,它似乎也显示索引号。例如,

2: London
Run Code Online (Sandbox Code Playgroud)

而不是London下拉列表中实际显示的内容。

没有索引如何获取城市名称?

Gün*_*uer 5

如果您有字符串或数字作为选项值并且不想使用,请使用[value]代替。[ngValue][(ngModel)]="..."

对于对象值,您始终应该使用[ngValue]