为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Angular ReactiveForm setValue 方法设置默认值选项

使用 Angular ReactiveForm setValue 方法设置默认值选项

largeQ 2021-10-14 16:57:44
我正在尝试使用 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  );



查看完整回答
反对 回复 2021-10-14
  • 2 回答
  • 0 关注
  • 258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信