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