簡體   English   中英

Angular4-獲取“未定義”而不是下拉所選值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM