所以我有一个反应式表单,其中我使用了特定的FormGroup(带名字和姓氏的联系人),并在FormArray中将它们相加。但是,每次我更新其中一个具有明显相同名称(firstName,lastName)的FormControls的值时,整个FormArray FormGroup FormControls的值都会更新。我做错了什么?
contact = new FormGroup
({
firstName: new FormControl(),
lastName: new FormControl()
});
this.form = this.fb.group({
nam
我有一个FormGroups的FormArray。现在,FormArray experiences有一个对象,一个包含3个控件的FormGroup,分别是companyName、jobDescription和yearsWorked。问题是,当我console.log FormArray对象时,我看到数据对象是这样工作的: FormArray.controls.FormGroup.controls。我想不出在这里该如何调用FormGroup才能访问它。所以html应该是这样的:
<div *ngFor="let exp of experiences.controls.[what d
参考:,很容易获得一个FormArrayName:
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<div formArrayName="cities">
<div *ngFor="let city of cities.controls; index as i">
<input [formControlName]="i" placeholder="City">
&l
我正在研究角表单数据驱动的方法,我将表单控件动态地添加到FormArray中,我使用form.reset()来重置添加的控件,但是form.reset()并没有重置FormArray长度,我发现这是一个已知的问题,可以用这种方法解决,,但我仍然不清楚这一点。请帮忙,谢谢
reviewForm: FormGroup;
ngOnInit(){
this.reviewForm = new FormGroup({
'controlArray': new FormArray([
])
});
}
onS
我正在我的角度应用程序中使用FormArray构建一个表单:
public form = new FormGroup({
experiences: new FormArray([])
});
用户可以将体验添加到数组中:
addExperience(lotsOfVars) {
const formGroup = new FormGroup({ /* creating a formgroup*/})
(<FormArray> this.form.get('experiences')).push(formGroup);
}
一项新的要求是允许用户改变先
如何在运行时将新的FormGroup分配给现有的FormGroup。
简化示例:
我有一个主表单组,看起来像这样。它有一个FormArray,所以我可以在运行时添加额外的FormGroups。
this.editForm = new FormGroup({
'name': new FormControl('Lorem', Validators.required),
'Info': new FormArray([])
});
添加到FormGroups中的FormArray如下所示
return new FormGroup({
当我试图循环formArray的控件时,我得到一个错误,formControlName必须在formGroup中,但我在formArray中没有formGroup。html中的代码如下所示 enter image description here 在.ts中是这样的 enter image description here 当我没有formGroup但Angular想要提供formGroup时,我该如何解决这个问题
在我的表单中添加了一个FormGroups数组之后,我无法在FormGroup中调用setValue
这就是我尝试过的:
this.formGroup.controls.formArray.get('input').setValue('test');
和
this.formGroup.get('formArray').get('input').setValue('test');
抛出:
Cannot read property 'setValue' of null
TS:
get formA
考虑我的表单组,如下所示:
userDetail = new FormGroup({
name: new FormControl(''),
addresses:new FormArray([])
})
addressDetail: new FormGroup({
city: new FormControl(''),
country:new FormControl('')
})
我从API得到的响应如下:
{
name:"Gayathri",
addresses:[{
ci
我有一个FormGroup和一个有3 FormControls的FormArray。我想在FormArray中迭代并在表单中显示每个值。但我在FormControlName上设置了什么呢?
这是我的FormGroup
fg: FormGroup = new FormGroup({
properties: new FormArray([])
});
这是我如何将FormControls添加到我的FormArray中的,dataArray是我从响应中获得的数据:
let formArray = this.fg.get('properties') as FormArra
:,我正在构建一个可重用的FormGroups中继器(reactive ),其中中继器的通用部分提供添加/删除控件和逻辑,所有想要使用它的组件只需要提供必须重复的模板。我查过了
它展示了如何用模板驱动的方式来完成这样的事情。
:,我附加到<template>中的控件的formControlName指令不会被中继器的通用部分接收到:
Error: Cannot find control with name: 'id'
at _throwError (https://unpkg.com/@angular/forms/bundles/forms.umd.js
我不明白FormGroup、FormControl、FormArray在Angular中是如何工作的 我的错误是: Type '{ question: FormControl; multi: true; choices: FormArray; }' is not assignable to type 'AbstractControl'.
Object literal may only specify known properties, and 'question' does not
exist in type 'AbstractCon
我在我的角5/角材料的应用中有这个FormArray:
this.form = new FormGroup({
customerNumberContainers: new FormArray([
new FormGroup({
contactTenant: new FormControl('', [Validators.required, Validators.minLength(2)]),
customerNumber: new FormControl('', [Validators.required
我有一个表格,用户可以填写他们的锻炼。我想打电话给addSet(),把FormGroup推到sets FormArray
ngOnInit() {
this.workoutForm = new FormArray([
new FormGroup({
name: new FormControl(),
sets: new FormArray([
new FormGroup({
reps: new FormControl(),