我有一个Angular应用,其中包含处理特定表单的组件。这种形式相对复杂,其他对象内部都有各种对象。
我想知道是否可以使用初始值重置此表单。例如:
createForm() {
this.form = this.fb.group({
id: [''],
category: ['', Validators.compose([
Validators.required,
Validators.minLength(3),
Validators.maxLength(64)
])],
user: this.fb.group({
username: ['', Validators.compose([
Validators.required,
Validators.minLength(3),
Validators.maxLength(13000)
])],
lastname: ['', Validators.compose([
Validators.required,
Validators.minLength(2),
Validators.maxLength(64)
])]
// ...and so on
当我调用form.reset()
时,可以通过一个选项传递默认值,但是它似乎只对顶级属性有效,我想将默认值(一个空字符串)设置为所有属性,包括在其他对象/表单组内部更深层次的属性。
有没有一种自然的方式来做到这一点?谢谢
答案 0 :(得分:0)
hi尝试将表单组放在函数外部,然后将默认值放置如下:
this.form = this.fb.group({
id: ['sampleId'],
category: ['sampleCat', Validators.compose([
Validators.required,
Validators.minLength(3),
Validators.maxLength(64)
])],
user: this.fb.group({
username: ['sampleUsername', Validators.compose([
Validators.required,
Validators.minLength(3),
Validators.maxLength(13000)
])],
lastname: ['sampleLastname', Validators.compose([
Validators.required,
Validators.minLength(2),
Validators.maxLength(64)
])]
// ...and so on