javascript - 使用 Angular ReactiveForm setValue 方法设置默认值选项
问题描述
我正在尝试使用 Angular 7 设置选择选项的默认值,但它没有设置默认选项值;
这是我试图做的。
在组件上,我使用setValue()
方法来设置默认值。
this.courseForm.controls['selectedTeacher'].setValue(this.course['Teacher'],{onlySelf: true});
在模板中我使用这样的选择:
<select formControlName="selectedTeacher">
<option *ngFor="let teacher of teachers" [ngValue]="teacher">
{{ teacher.FirstName }} {{teacher.LastName}}
</option>
</select>
通常,当使用输入文本尝试这样时,它可以工作,但选择列表不起作用。
我无法确切地意识到问题所在。
请帮忙,
谢谢
解决方案
更改您的组件:
this.courseForm.controls['selectedTeacher'].setValue(this.course['Teacher'].id,{onlySelf: true})
在您的 html 中:
<select formControlName="selectedTeacher">
<option *ngFor="let teacher of teachers" [value]="teacher.id">
{{ teacher.FirstName }} {{teacher.LastName}}
</option>
</select>
推荐阅读
- c++ - 如何在 Xcode C++ 项目中启用绝对标头
- android-studio - 硬件设备中的 Android Studio
- javascript - 使用 localStorage 在页面之间传递变量并在链接中传递变量
- java - “类型不匹配:无法从 int 转换为 byte”
- ios - 线程一:使用模拟器后出现 Expertin 错误
- powershell - 如何拆分包含换行符的字符串
- python - 如何在python中跳过“ZeroDivisionError:浮点除以零错误”
- python - 在视线上投射速度 - 已编辑
- javascript - 元素类型无效,使用 Flatlist 时
- multithreading - 在多个读者从 Rust 中的不同线程读取时写入