angular - 查找位于 FormArray 中的父表单控件
问题描述
在子组件中,我需要FormControl
从父母的FormGroup
. FormGroupDirective
通过注入构造函数然后调用注入的项目很容易做到.control.get()
。
但是,如果表单控件实际上嵌套在 aFormArray
中,那么这是行不通的。FormControl
从中获取的等价物是FormArray
什么?
在我的 HTML 中,我只有一个非常标准的设置
<div [formGroup]="formGroup">
<ngb-accordion formArrayName="subspaces">
<ngb-panel *ngFor="let subspace of subspaces; index as i" [formGroupName]=i">
<my-custom-control controlName="someControlName"
通过使用该指令,我不必实际传递formGroup
. 理想情况下,我不必通过formArrayName
or formGroupName
,my-custom-control
但如果必须,我可以。
我想避免将类似的东西传递this.formArray.at(index).get('someControlName')
给子控件。我只想通过controlName
并让孩子直接“找到”它。
我不确定如何FormArray
从FormGroupDirective
解决方案
您可以尝试使用此代码
<div [formGroup]="formGroup">
<ngb-accordion formArrayName="subspaces">
<ngb-panel *ngFor="let subspace of formGroup.get('subspaces')['controls']; let i =index" [formGroupName]=i">
<my-custom-control controlName="someControlName"
推荐阅读
- mysql - 选择表 1 中的列并使用该列在表 2 中选择总和的 SQL 查询
- excel - Excel #value 错误将动态数组公式的结果传递给另一个函数
- angular - Angular - 如何在 ngFor 循环表中使用 formcontrol
- javascript - jQuery 附加到表单的项目不会发布
- rust - 如何在 Rust 中为 Criterion 基准创建随机输入
- https - 跳过引导程序,因为在使用 certbot-auto 时,此系统上不推荐使用 certbot-auto
- c# - ASP.NET MVC - 是否可以在多个身份验证系统之间进行选择
- java - 在 Spring 中,为什么具有范围原型的服务会多次实例化?
- sql - Oracle sql - 连接不起作用
- google-sheets - 为什么 =IF(10.1-10=0.1,TRUE) 在 Google 表格中返回 F?