繁体   English   中英

在 angular 中使用 patchValue 进行选择不起作用

[英]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
    });
}

在此功能中, departmentdoctor表单控件包含选择字段,并且值不会出现在选择中。 我在这里分配给 formcontrol 的值是选项的值..

问题如何分配值以通过patchValue选择。请帮助我


HTML:

<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM