5

我可以获得 FormGroup - 我拥有的 FormControl 的父级吗?像这样:

    onBlur(formControl: FormControl) {
    var formGroup = formControl.parent // a FormGroup has the FormControl
    if (formControl.dirty) {

        console.log(formControl);
    }

}
4

3 回答 3

6

我目前有 angular 5,但我确信在 angular 4 上它也可以这样工作:

formControl.parent

例如,在我的代码中,我从同一组中获得了其他控制(按名称):

formControl.parent.get(neighbourName)

于 2018-07-16T11:46:44.320 回答
5

您无法访问 FormControl 的父级(请参阅:https ://github.com/angular/angular/issues/5635 )。但是您可以使用模型驱动表单访问父级。

 constructor(private fb: FormBuilder) {

 this.form = fb.group({
   name: [],
   address: fb.group({
     city: ['', Validators.required],
     street: ['', Validators.required],
     zipCode: '',
     year: 2016
   }),
   groupDates: fb.group({
     fromDate_g: [''],
     toDate_g: ['', Validators.required]
   }, {validator: Validators.required}),
   dates: fb.group({
     fromDate: '',
     toDate: ''
   })
  });

  let datesGroup =  this.form.controls['dates'] as FormGroup;


}
于 2016-10-13T10:50:46.583 回答
1

这似乎是可能的,但违反了惯例。

 getParentForm(formControl: FormControl): FormGroup {
    return formControl['_parent'];
}
于 2016-10-13T17:30:17.663 回答