【发布时间】:2019-09-06 12:50:40
【问题描述】:
我是 Angular 新手,目前使用 Angular v.8。 我的组件中有一个 json 映射。我想使用此映射在 html 中创建我的输入字段(作为字段标签的键和作为输入值的值)。我已经迭代了这个地图并根据 json 地图数据填充了字段,但是编辑值并没有更新实际的 json 地图。我需要将组件中的更新地图发送到后端 API。请帮忙,下面的代码sn-ps:
组件:
..
mapRecord: any = {"Col1":"Val1", "Col2":"Val2", "Col3":""}
...
html:
<table>
<tr *ngFor="let record of mapRecord | keyvalue">
<td>
<div [formGroup]="addGlimpseForm">
<mat-form-field> <input matInput
placeholder="{{record.key}}" [(ngModel)]="record.value"
formControlName="{{record.key}}" name="record.value" id="record.value">
</mat-form-field>
</div>
</td>
</tr>
</table>
{{ mapRecord | json }}
编辑: 我已经在组件中动态填充了表单控件:
glimpseFields: string[] = [];
..
for (var key in this.mapRecord) {
this.glimpseFields.push(key);
}
this.addGlimpseForm = new FormGroup({username: new FormControl('', [])});
for (let glimpseField of this.glimpseFields) {
this.addGlimpseForm.addControl(glimpseField, new FormControl('', Validators.required));
}
【问题讨论】:
-
我看到
[formGroup]="addGlimpseForm"表示响应式表单,[(ngModel)]表示模板驱动表单。不要混用。
标签: angular