【发布时间】:2020-07-16 05:09:39
【问题描述】:
我正在使用 Angular 反应式表单,我正在尝试将表单控件值设置为下拉列表中的默认值。如果我不在模板代码中使用 *ngFor 循环,我可以让它工作。但是,我需要使用它,因为标签中有很多选项。
<select formControlName="staffName">
<option>Bob Jason</option>
<option>Sally Reel</option>
<option>Jack Jones</option>
<option>George Smith</option>
<option>Harry Lake</option>
</select>
但是,如果我使用下面的代码,它就不起作用
<select formControlName="staffName">
<option *ngFor="let StaffMemberModel of StaffMemberModels">
{{StaffMemberModel.firstName}} {{StaffMemberModel.lastName}}
</option>
</select>
StaffMemberModel 是一个包含 id、firstName 和 lastName 的数组,如下所示。
它输出以下内容。但是,它只显示下拉列表中的第一个选项,此时它应该显示在上一页中选择的工作人员。
【问题讨论】:
-
看到您的 .ts 中没有名为“StaffMemberModel”的变量。注意:在 Angular 中,通常(推荐,非强制)你使用 camelCase 为变量命名 - 所以变量总是以小写开头,staffMemberModel 比 StaffMemberModel 更好-,Class 和 interface 大写-
标签: angular angular-reactive-forms ngfor