0
我一直试图以下对象绑定到我的形式,但都无济于事......我的代码如下:绑定地图<字符串数组<Object>>形成
export class User {
public Name: string;
public Surname: string;
public Addresses: Map<string, Array<Location>>;
.
.
.
}
注意地址,这里的关键是国家和价值定位对象的数组...
现在,在我的组件我有事如下,在这里我从数据库加载数据后,更新的形式被调用来执行:
this.userForm= this.fb.group({
Name: ['', Validators.required],
Surname: ['', Validators.required],
Addresses: [{}],
.
.
.
});
UpdateForm:
updateForm() {
this.userForm.patchValue({
Name: this.user.Name,
Surname: this.user.Surname,
Addresses: this.user.Addresses
});
最后我的html:
<form [formGroup]="userForm" (ngSubmit)="submit()" novalidate>
<div class="panel-body" >
<div class="col-lg-4">
<label>Code:</label>
<div class="form-group input-group">
<input type="text" class="form-control" formControlName="Addresses['UK'].Code">
</div>
</div>
.
.
.
我的问题是,我无法读取指定的指数(UK),(或者任何其它键)的数据。我也试过用Addresses.get(“UK”)...和Addresses.value [“英国”] .....但没有成功......还试图用ngModel,但再次失败。我的怀疑在于补丁调用,我认为我没有正确设置窗体控件。 从分贝P. S.用户数据是正确的,所以问题在“结合”具体部分所在。
编辑: 此外,如果我右后patchValue()用户窗体地址似乎被填充做一个破发点(从调试器):
this.userForm.get('Addresses').value
UK:
Code: 123
EXT: a123
.
.
.
从数据库的getUser我的回应( )为:预先
"Addresses": {
"CountryCode": {
"Code": 123,
"Ext": "a123",
.
.
.
},
由于
地址[“UK”。代码这是不是你的formControl因此你不会得到任何价值,你可以分享你的地址响应。然后我们需要动态地为它们创建formControls。 –
@RohanFating我已经编辑在原来的职位以获得更多信息。谢谢 – HCL02