我在 citylist 组件模板中有一个下拉列表。
<select [(ngModel)]="selectedCity.id">
<option *ngFor="let cty of cityarray" [ngValue]= "cty.id">
{{cty.name}}
</option>
</select>
<p> </p> <!--selected city name -->
城市的阵列是这样的:
cityarray = [new Cities(1,'Berlin'),
new Cities(2,'London'),
new Cities(3,'Portland'),
new Cities(4,'Zurich'),
new Cities(5,'Cardiff') ]
其中Cities类对象具有 id 和名称。
我想要的是简单地打印从para标签内的下拉列表中选择的城市。 如果可能,如何使用 ngModel 完成此操作?或者我是否必须编写模型更改事件?
答案 0 :(得分:0)
奇怪的做法是:
<select [(ngModel)]="selectedCity.id">
<option *ngFor="let cty of cityarray" [ngValue]= "cty.id">
{{cty.name}}
</option>
</select>
<ng-container *ngFor="let cty of cityarray">
<p *ngIf='selectedCity.id === cty.id'>
{{cty.name}}
</p>
</ng-container>
答案 1 :(得分:0)
你可以像下面这样连接ngModelChange事件:
<select [(ngModel)]="selectedCity.id" (ngModelChange)="setCity($event)">
<option *ngFor="let cty of cityarray" [ngValue]= "cty.id">
{{cty.name}}
</option>
</select>
<p>{{selectedCity}} </p>
<强>组件强>
selectedCity:any;
setCity($event){
this.selectedCity = this.cityarray.filter(c => return c.id == $event)[0].name;
}
希望它有所帮助!!