[英]Angular4 - Getting “undefined” instead of dropdown selected value
首先,我应该说我经历了所有针对类似问题而发布的答案,但是没有一个对我有用! 确实很奇怪,因为代码看起来还可以,但是在更改事件中它始终给我未定义的信息!
我尝试了这个:
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (change)="onCountryChange()">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
在我的组件中
selectedCountry: any[];
onCountryChange() {
console.log(this.selectedCountry);//Give me undefined
}
我也试过这个:
<select name="countries" id="countries" (change)="onCountryChange($event.target.value)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
这个也给我不确定
onCountryChange(value) {
console.log(value);//Give me undefined
}
采用
(ngModelChange)="onCountryChange($event)"
代替
(change)="onCountryChange()"
(change)
是在烧制之前[(ngModel)]="..."
结合被更新。
这是角度的已知问题。
Select change event occurs before ngModel updates
您应该从(change)
为(ngModelChange)
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.