[英]Why is typescript converting number to string?
我在下面有一個包含這些值的下拉列表,當我第一次使用初始值時,它是未定義的。 但是,在我更改為“30 分鍾”之后,又回到“任何”,因為 ngModel 使用的屬性從 30 設置為“未定義”? 它被設置為一個字符串?
實際屬性如下所示 - 我沒有意識到 typescript 會這樣轉換它?
length: number;
我的下拉菜單在這里
<div class="form-group"> <label for="length">Length</label> <select class="form-control w-100" id="length" name="length" [(ngModel)]="eventParams.length"> <option *ngFor="let length of lengthList" [value]="length.value"> {{length.display}} </option> </select> </div>
lengthList = [ {value: undefined, display: 'Any'}, {value: 30, display: '30 min'}, {value: 45, display: '45 min'}, {value: 60, display: '60 min'}, {value: 90, display: '90 min'} ];
如Angular文檔中所述
值屬性跟蹤綁定到選項元素的簡單字符串值。 對於對象,使用 ngValue 輸入綁定。
使用 ngValue 屬性它將按預期工作。
<div class="form-group">
<label for="length">Length</label>
<select class="form-control w-100" id="length" name="length" [(ngModel)]="eventParams.length">
<option *ngFor="let length of lengthList" [ngValue]="length.value">
{{length.display}}
</option>
</select>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.