如何使用 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 });
我需要在这个 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 });