如何在angular 5中的formControl中设置默认值

如何在angular 5中的formControl中设置默认值,angular,Angular,如果表中没有数据,我将从服务中获取未定义的数据,但在这种情况下,我希望在formControl中显示默认值。如果有数据,那么工作正常…请帮助我并建议我需要做什么。当您创建组和其中的控件时,您也可以初始化它们 fb是FormBuilder 您可以尝试使用表单控件中的默认值 myForm: FormGroup; ngOnInit() { this.myForm = this.fb.group({ name: ["test", [Validators.required, Val

如果表中没有数据,我将从服务中获取未定义的数据,但在这种情况下,我希望在formControl中显示默认值。如果有数据,那么工作正常…请帮助我并建议我需要做什么。

当您创建组和其中的控件时,您也可以初始化它们

fb
FormBuilder


您可以尝试使用表单控件中的默认值

myForm: FormGroup;
ngOnInit() {
    this.myForm = this.fb.group({
        name: ["test", [Validators.required, Validators.maxLength(30)]],
        address: this.fb.group({
            pin: ["123456", Validators.required]
        })
    });
}

验证器不应该包装在另一个数组中吗?如果您只使用一个-在这种情况下不,如果您有多个验证器-您需要放入另一个数组中,如
[0,[Vaidators.required,Validators.email]
。感谢Angular 6的澄清,我认为您需要使用
验证器.compose([…])
或者你会遇到验证问题(或者只是我,但你永远不知道)。表单控件并不总是表单组,您应该在答案中包含表单控件的创建(
this.control=newformcontrol('default value')
)我绝对喜欢这种答案。简短、精确、准确。谢谢。您正在使用subject或behavior subject监视数据更改?@Adriansawick是的,我正在使用behavior subject您可以将默认值传递给它,或者正如人们在下面写的那样,您可以将其添加到FormBuilder中
myForm: FormGroup;
ngOnInit() {
    this.myForm = this.fb.group({
        name: ["test", [Validators.required, Validators.maxLength(30)]],
        address: this.fb.group({
            pin: ["123456", Validators.required]
        })
    });
}