我正在尝试使用 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>通常,当像这样尝试输入文本时,它会起作用,但选择列表不起作用。我无法确切地意识到问题是什么。
2 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
Angular 使用对象引用,而不是属性,所以如果你这样做,如果你有每个老师的唯一标识符,它就会起作用
const teacher = this.teachers.find(t=> t.id == this.course['Teacher'].id);
this.courseForm.controls['selectedTeacher'].setValue(teacher,{onlySelf: true});
或者您可以通过任何独特的属性找到
const teacher = this.teachers.find(t=> t.FirstName == this.course['Teacher'].FirstName && t.LastName == this.course['Teacher'].LastName );
添加回答
举报
0/150
提交
取消