angular - 带有嵌套字段的 Angular8 和 formControlName
问题描述
我花了很多时间来解决这个问题。我的formGroup
结构是:
this.frameworkForm = this.formBuilder.group({
id: [null],
name: ['', Validators.required],
active: [true],
parsingRequired: [false],
reviewRequired: [false],
frameworkSortingType: {
id: null,
environmentalSortingType: '',
socialSortingType: '',
governanceSortingType: '',
},
});
在我的模板中,我想从例如获得价值。environmentalSortingType
:
<div class="alphabetically">
<label class="control-label bold-label" for="reviewRequired">Alphabetically</label>
<div class="p-field-radiobutton">
<p-radioButton [name]="'environmental'" value="alphabetically"
formControlName="frameworkSortingType.environmentalSortingType"
></p-radioButton>
<p-radioButton [name]="'environmental'" value="numerically"
formControlName="frameworkSortingType.environmentalSortingType"
></p-radioButton>
</div>
但是那种带有.
like 的解决方案formControlName="frameworkSortingType.environmentalSortingType"
是行不通的。怎么做?我尝试了很多不同的方法......没有成功:(
更新
我通过添加嵌套的 formGroup 更改了我的代码,但仍然出现错误:找不到具有未指定名称属性的控件(<div class="sorting" formGroupName="frameworkSortingType">
)
ngOnInit() {
this.frameworkForm = this.formBuilder.group({
id: [null],
name: ['', Validators.required],
active: [true],
parsingRequired: [false],
reviewRequired: [false],
frameworkSortingType: this.formBuilder.group( {
id: null,
environmentalSortingType: '',
socialSortingType: '',
governanceSortingType: '',
}),
});
和我的模板:
<div class="sorting" formGroupName="frameworkSortingType">
<div class="alphabetically">
<label class="control-label bold-label" for="reviewRequired">Alphabetically</label>
<div class="p-field-radiobutton">
<p-radioButton [name]="'environmental'" value="alphabetically"
formControlName="environmentalSortingType"
></p-radioButton>
</div>
解决方案
根据这篇文章,您可以在主 formGroup 中创建frameworkSortingType
一个新FormGroup
的 formGroup 并使用它,如下所示。
推荐阅读
- function - 如何只运行一次 pine 脚本函数?
- c# - 尝试运行我的 .Net Core MVC 项目时出错。我能做些什么?
- react-native - 如何在 react-navigation 5x 中隐藏抽屉项目?
- wpf - 如何在 XAML 的父级中水平居中复选框?
- php - PHP – ZIP 文件创建导致 ZIP 文件压缩本身
- c# - 空数组的默认值数据注释
- mysql - 如何计算数据库表列中的值?
- python - 如何旋转轴标签并隐藏其中一些?
- ionic-framework - 创建 Ionic 框架 4 项目
- python - 更改 Django 模板路径中子文件夹的名称