gpt4 book ai didi

Angular 8 : How to use formControlName with FormArray

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:54 26 4
gpt4 key购买 nike

如何将 formControlName 映射到特定的 formArray 项?

我无法控制服务器数据并尝试创建一个包含电话号码数组的表单。

表单本身在视觉上并没有将手机并排布置,我希望能够像通常使用 formGroup 一样声明手机的输入控件。

到目前为止,我有以下内容:

Controller :

const exampleData = {
'name': 'John Doe',
'phones': [
{
'type': 'home',
'number': '5555555'
},
{
'type': 'cell',
'number': '5555555'
}
]
};

this.form = this.fb.group({
name:[],
phones: this.fb.array([
this.fb.group({
type: '',
number: []
}),
this.fb.group({
type: '',
number: []
})
]),
});

this.form.patchValue(exampleData);

模板

<input type="text" formControlName="name">

<!-- This works but I need to loop -->
<div formArrayName="phones">
<div *ngFor="let phone of form.get('phones').controls; let i = index">
<div [formGroupName]="i">
<label>Type: </label><input formControlName="type"/>
<label>Number: </label><input formControlName="number"/>
</div>
</div>
</div>

<!-- How can I point to a phone directly? -->
<input type="text" formControlName="point to type home's number...with helper function or something...">

看看这是否可能?

最佳答案

试试这个来访问 formArray 项目:

  <div [formGroup]="form.get('phones').at(1)">
<input type="text" formControlName="num">
</div>

Stackblitz

关于 Angular 8 : How to use formControlName with FormArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58017605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com