angular - 嵌套反应形式
问题描述
我有一个嵌套反应形式的角度应用程序。请验证我通过在 child 中传递父表单引用来嵌套表单的方法是否合适。另外,如果可能的话,建议我更好的方法。以下是我的代码的参考。 https://stackblitz.com/edit/angular-usmwua
/*parent component*/
profileForm:FormGroup = this.fb.group({
firstName:['', Validators.required],
lastName:[''],
address:AddressComponent.generateAddressComponent()
})
/*child component*/
static generateAddressComponent(){
return new FormGroup({
city:new FormControl('',[Validators.required])
})
}
解决方案
我相信将父表单传递给孩子会更好:
<child-component [form]="profileForm">
并从子组件添加到表单组:
_form: FormGroup;
@Input()
get form(): FormGroup {
return this._form;
}
set form(val: FormGroup) {
this._form = val;
this._form.addControl('address', new FormGroup({
city:new FormControl('',[Validators.required])
}));
}
推荐阅读
- python - Python - 比较两个字典,创建一个新字典,其中包含仅出现在一个字典中的唯一项
- google-cloud-platform - 如何使用 Google 数据目录服务为 Google 云存储中的资产(对象、存储桶等)创建数据目录
- spring - *.configuration.SecondaryDataSource 中方法 entityManagerFactory 的参数 0 需要找不到类型为“*.EntityManagerFactoryBuilder”的 bean
- angular - Docker 容器中的 Angular 和 Nginx 在 Nginx on Host 后面
- polymer - Polymer 3、apollo-client、graphql 和 CommonJS 模块
- bash - Bash 局部变量没有被覆盖
- c++ - 关于异常继承中的语法问题
- excel - 有没有办法在 Azure Blob 存储中将 .xlsx 文件转换为 .csv 文件格式?
- node.js - Lambda 代码适用于 node v8.10 但不适用于 nodejs v10.x
- c - 如何停止打印有条件的字符串?