2016-12-02 2 views
0

Использование форм, управляемых моделью, как я могу установитьValue для вложенной группы форм? Без вложенного formGroup я могу сделать это следующим образом:setValue для нескольких formGroups

export class MyComponent { 

    constructor(
    private formBuilder: FormBuilder) { 
     this.form = formBuilder.group({ 
     id: [], 
     title: ['', Validators.required], 
     start_date: ['', Validators.required], 
     end_date: ['', Validators.required] 
    }); 
    } 

    ngOnInit() { 
    ... 
    this.form.setValue({ 
     id: this.academicTerm.id, 
     title: this.academicTerm.title, 
     start_date: this.academicTerm.start_date, 
     end_date: this.academicTerm.end_date 
    }); 
    ... 
    } 

} 

Это прекрасно работает, но если я гнездо даты начала и окончания в их собственной dates formGroup (для проверки ... не показан), то я не могу найти способ для установки значений начальной и конечной даты.

export class MyComponent { 

    constructor(
    private formBuilder: FormBuilder) { 
     this.form = formBuilder.group({ 
     id: [], 
     title: ['', Validators.required], 
     dates: formBuilder.group({ 
      start_date: ['', Validators.required], 
      end_date: ['', Validators.required] 
     }) 
    }); 
    } 

ответ

2

Вы можете установить значение даты следующим образом:

this.form.controls['dates'].setValue({ 
    start_date: '', 
    end_date: '', 
}); 

или вся форма:

this.form.setValue({ 
    id: '', 
    title: '', 
    dates: { 
     start_date: '', 
     end_date: '' 
    } 
}); 

Но если вы делаете это, чтобы установить значения по умолчанию только сделать это, когда вы создаете форму вместо использования пустых значений ('').

+0

Отлично, спасибо –

Смежные вопросы