gpt4 book ai didi

javascript - 使用 FormGroups 的 FormArray 修补 Angular 响应式表单

转载 作者:行者123 更新时间:2023-11-30 13:53:06 25 4
gpt4 key购买 nike

我正在构建一个类似于此的表单:

private _buildForm(): FormGroup {
const _form = new FormGroup({
title: new FormControl('', [Validators.required]),
jobs: new FormArray([
new FormGroup({
_id: new FormControl(''),
status: new FormControl('')
});
])
});
}

当我想使用 patchValue() 方法修补表单时(例如,当数据从服务器返回时),jobs 数组只修补一个元素。换句话说,如果作业数组包含多个作业,则只会修补第一个作业 FormGroup。我认为 Angular 会足够聪明,可以根据需要动态添加尽可能多的 FormGroups 来匹配。作业 FormGroups 还能如何修补?

最佳答案

不,您不能以这种方式修补 formArray。您可以做什么 传递 formArray 值作为参数并将其一一插入到表单中。

setUpForm(job: Job) {
return new FormGroup({
title: new FormControl(job.title),
statuses: new FormArray(job.statuses.map((status) => this.createStatus(status)))
});
}
createStatus(statuses: any) {
return new FormGroup({
id: new FormControl(statuses.id || ''),
status: new FormControl(statuses.status || ''),
})
}

实例:Stackblitz

关于javascript - 使用 FormGroups 的 FormArray 修补 Angular 响应式表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57841868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com