angular - 如何在Angular 6中将一个组件的FormArray附加到另一个组件的值
问题描述
我想在两个组件之间使用相同的 FormArray 来保存数据。两个组件代码如下所示:
xyz.component.ts
createForm(data: any): FormGroup {
return this.formBuilder.group({
contractId: [data ? data.contractId : ''],
contractName: [data ? data.contractName : '', Validators.required],
contractServiceList: this.formBuilder.array(
this.createContractService(data ? data.contractServiceList : null), this.arrayValidator()
)
});
}
createContractService(data: any[] | null): FormGroup[] {
return data ?
data.map(x => {
let group = this.formBuilder.group({
serviceId: [x.serviceId, Validators.required],
copay: [x.copay, Validators.required],
coinsurance: [x.coinsurance, Validators.required],
deductibleApplies: [x.deductibleApplies, Validators.required],
penaltyApplies: [x.penaltyApplies, Validators.required],
});
return group;
}) : [this.formBuilder.group({
serviceId: ['', Validators.required],
copay: ['', Validators.required],
coinsurance: ['', Validators.required],
deductibleApplies: ['', Validators.required],
penaltyApplies: ['', Validators.required],
})];
}
abc.component.ts
createForm(data: any): FormGroup {
return this.formBuilder.group({
contractId: [data ? data.contractId : ''],
contractName: [data ? data.contractName : ''],
contractServiceList: this.formBuilder.array(
this.createContractService(data ? data.contractServiceList : null), this.arrayValidator()
)
});
}
createContractService(data: any[] | null): FormGroup[] {
return data ?
data.map(x => {
let group = this.formBuilder.group({
penaltyRule: [x.penaltyRule, Validators.required],
penaltyType: [x.penaltyType, Validators.required],
penaltyValue: [x.penaltyValue, Validators.required],
deductibleAppliesPenalty: [x.deductibleAppliesPenalty, Validators.required]
});
return group;
}) : [this.formBuilder.group({
penaltyRule: ['', Validators.required],
penaltyType: ['', Validators.required],
penaltyValue: ['', Validators.required],
deductibleAppliesPenalty: ['', Validators.required]
})];
}
Onclick 保存按钮,它导航到下一个组件,因此 FormArray 应该在第二个中附加值以及从第一个保存值之后。
解决方案
推荐阅读
- java - Session.Save 是否向数据库发送请求?
- php - 如何为open id connect生成一个众所周知的配置文件?
- python - Python使用apache获取用户组
- php - 为什么 Apache 在主机更改后提供我的 PHP 文件而不是执行它们
- performance - AWS 海王星性能
- android - 单元测试用例无法读取 AndroidManifest.xml 的元数据
- json - Spring - 将 JSON 字符串转换为 JSON 对象
- javascript - 我如何通过在元素外部单击来从指令中发出事件?
- c# - Google Vision V1 反序列化 API 响应
- oracle - 带有用户提示的插入功能