页面加载时,带有NgValue的NgFor在选择选项下拉列表中未显示列表中的第一个对象

时间:2019-04-19 18:54:12

标签: angular angular7

我有一个选择选项下拉列表,其中包含一个对象列表。我正在使用ngValue将下拉列表的值设置为一个对象。但是,当页面加载时,下拉列表不会显示列表中的第一个对象,并且会显示仅当我单击并打开对象时。

我尝试使用[selected]属性首先显示预选的选项,我也尝试了比较功能,但是它似乎不起作用。

<select class="form-control" #selectedValue 
name="selectedValue" id="selectedValue"
 [(ngModel)]="selectedValue[i]" 
(ngModelChange)=onChange($event)>
<option *ngFor="let item of items" [ngValue]="item">
{{item.text}}</option>
</select>

初始化组件时,希望在下拉列表中预先选择第一个选项,而无需单击下拉列表

1 个答案:

答案 0 :(得分:0)

您的ngMoodel是“ selectedValue [i]”。因此,如果您必须在打开前预先选择一个值,则需要具有一个与selectedValue [i]相关的值。

尝试下面的方法更简洁,使用更少的变量来实现相同的目的:

HTML:

<select class="form-control" [(ngModel)]="selectedValue">
 <option *ngFor="let item of items" [ngValue]={{item.Id}}>
     {{item.text}}
 </option>
</select>

在ts文件中声明具有默认值的selectedValue