如何使用 FormControl 修补值

How can I patchValue with FormControl

我需要在这个 formControl

中从 Api 修补值

".html"

`<p-dialog header="แก้ไขห้องพัก" [(visible)]="displayEdit" [modal]=true [style]="{width: '30vw'}"><div class="row" [formGroup]="edtForm">
  <input pInputText type="hidden" formControlName="id_room" [attr.disabled]="true">
  <input pInputText type="hidden" formControlName="id_roomDetail" [attr.disabled]="true">
  <input pInputText type="hidden" formControlName="homestayID" [attr.disabled]="true">
  <div class="col-5 text-right">เลขที่ห้อง :</div>
  <div class="col-7"><input pInputText type="text" formControlName="numRoom" [attr.disabled]="true"></div>
  <div class="col-5 text-right">Name :</div>
  <div class="col-7">
  <p-dropdown id="homestayName" formControlName="homestayName" [options]="homestays"></p-dropdown>
 </div>
</p-dialog>`

".ts"

this.roomService.queryRoomById(id).subscribe((res) => {
    const data = {
      ...res
    };
    this.edtForm.patchValue(data);
  });

服务是

queryRoomById(id: string) {
return this.http.get<Rooms>('http://localhost/taladnoi/api/api_getRoomAdmin.php?id=' + id);

}

我们不知道您的 API returns,但表单上的补丁只是更新表单部分的值。

我看到你有几个表单控件:

  • id_room
  • id_room详情
  • 寄宿家庭ID
  • 房间数
  • 寄宿家庭名称

假设你想更新 numRoom 字段,你会做类似这样的事情:

this.formName.pathValue({ numRoom: newValue });