Mac*_*ito 4 forms angular2-formbuilder angular
所以我有这种形式,它工作正常..但现在我想扩展一些json结构...
https://plnkr.co/edit/aYaYTBRHekHzyS0M7HDM?p=preview
我想要使用的新结构看起来像这样(只有地址:已更改):
email: ['', [Validators.required, Validators.email]],
password: ['', [Validators.required, Validators.minLength(5)]],
address: this.fb.array([{
name: '',
addressLine1: ['', [Validators.required]],
city: ['', [Validators.required]],
postalCode: [Validators.required],
}]),
Run Code Online (Sandbox Code Playgroud)
但我不断收到错误,如"ERROR TypeError:control.registerOnChange不是函数".想通知这与formControlName缺失有关,但我不希望所有数据都显示..
在输入字段中,我只想显示addressLine1(根本不显示name,city或postalCode).
AJT*_*T82 14
我会使用表单组而不是formarray address,所以它看起来像这样:
this.registrationForm = fb.group({
email: ['', [Validators.required, Validators.email]],
password: ['', [Validators.required, Validators.minLength(5)]],
address: this.fb.group({ // make a nested group
name: '',
addressLine1: ['', [Validators.required]],
city: ['', [Validators.required]],
postalCode: [Validators.required],
}),
});
Run Code Online (Sandbox Code Playgroud)
然后在您的模板中,记住标记formGroupName:
<md-input-container formGroupName="address"> <!-- Mark the nested formgroup name -->
<input mdInput type="text" placeholder="AddressLine1" name="address"
formControlName="addressLine1" fodiGoogleplace
(updateAdress)="setAdressOnChange($event)">
</md-input-container>
Run Code Online (Sandbox Code Playgroud)
你的分叉PLUNKER
| 归档时间: |
|
| 查看次数: |
6931 次 |
| 最近记录: |