3

我的嵌套形式進行格式化這樣的值:如何設置嵌套formBuilder集團目前

ngOnInit() { 
    this.user = this.fb.group({ 
    name: ['', [Validators.required, Validators.minLength(2)]], 
    quest1: ['', Validators.required], 
    account: this.fb.group({ 
     email: ['', Validators.required], 
     confirm: ['', Validators.required] 
    }), 
    questions: this.fb.group({ 
     quest2: ['', Validators.required], 
    }), 
    }); 
} 

我通常會設置的值是這樣的:

this.user.controls['quest1'].setValue('false');

但因爲formGroups是嵌套的,我不知道如何設置嵌套值。

如何爲「quest2」設置一個值?在嵌套formGroup中設置表單控制值的正確語法是什麼?

編輯: 我使用這種方式

this.user.patchValue({ questions: {quest2: 'false'}});

回答

2

可以使用下面的語法做到這一點:

this.user.get('questions.quest2').setValue(false); 

注意setValue方法拋出錯誤如果一些控制缺失。所以,如果你不想更新所有控件,您可以使用patchValue

this.user.get('questions.quest2').patchValue(false); 

this.user.patchValue({questions: {quest2: false}}); 
+2

許多感謝的人!它在這裏工作。我這樣使用它: This.user.patchValue({questions:{quest2:'false'}}); –