我有一个需要几个组件FormControl
s and FormArray
s 作为输入。我正在访问FormControl
来自子组件的 s 如下所示:
[formControl]="control"
这工作得很好,但我找不到一种方法来做同样的事情FormArray
。似乎没有相关指令。我想避免传递一堆字符串并通过formControlName
and formArrayName
如果可能的话。有没有办法做到这一点?
Update有一个类型错误,已更正
您可以像使用 FormGroup 一样使用 FormArray,但要小心“符号”,如果通常我们使用 [formGroup]="i",现在我们使用 [formGroup]="group"。
只需要想想 myFormArray.controls 是什么
<form [formGroup]="myFormArray">
<div *ngFor="let group of myFormArray.controls;let i=index" [formGroup]="group">
<input formControlName="prop1">
<div *ngIf="group.get('prop1').invalid">Prop1 Required</div>
<input formControlName="prop2"/>
<div *ngIf="group.get('prop2').invalid">Prop2 Required</div>
</div>
</form>
myFormArray=new FormArray([
new FormGroup({
prop1:new FormControl('',Validators.required),
prop2:new FormControl('',Validators.required)
})
])
如果您的 formArray 是一个 FormArray 控件,请直接使用 formControl
<form [formGroup]="myFormArray2">
<div *ngFor="let group of myFormArray2.controls">
<input [formControl]="group">
<div *ngIf="group.invalid">Required</div>
</div>
</form>
myFormArray2=new FormArray([
new FormControl('',Validators.required),
new FormControl('',Validators.required)
])
See in 堆栈闪电战
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)