[英]Using patchValue for select in angular isn't work
我正在使用以下代码以反应形式将值修补到字段:
editPat(patient: Patient) {
this.regForm.patchValue({
_id: patient._id,
firstName: patient.firstName,
lastName: patient.lastName,
disease: patient.disease,
department: patient.department,
doctor: patient.doctor
});
}
在此功能中, department
和doctor
表单控件包含选择字段,并且值不会出现在选择中。 我在这里分配给 formcontrol 的值是选项的值..
问题如何分配值以通过patchValue
选择。请帮助我
<div class="form-group ">
<label for="department">Department</label>
<select class="form-control" formControlName="department">
<option *ngFor="let department of departments"
value="{{ department._id }}">{{ department.Name }}</option>
</select>
</div>
实际上,当我尝试修补值(用于更新选项)时,我正在使用此代码并在将数据保存在 db(即 id)中后,其他字段有效,但对于 select 它不起作用。
您可以尝试另一种方法来修补值,
更新代码
HTML文件
<div class="form-group ">
<label for="department">Department</label>
<select (change)="patchValue($event.target.value)" class="form-control" formControlName="department">
<option *ngFor="let department of departments"
value="{{ department._id }}">{{ department.Name }}</option>
</select>
</div>
.ts 文件
patchValue(value){
this.regForm.patchValue({
department : value
});
this.regForm.get('department').updateValueAndValidity();
console.log(this.regForm.value);
}
签出我更新的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.