gpt4 book ai didi

arrays - 如何在嵌套的 FormArrays 中添加元素?

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:08 24 4
gpt4 key购买 nike

我在另一个数组中有一个数组:

<div class="col-sm-6">
<div formArrayName="site_source_pages">
<div *ngFor="let site_source_page of siteForm.controls.site_source_pages.controls; let x=index">
<div [formGroupName]="x">
<div class="card card-accent-success">
<div class="card-header">
<strong>Yeni Kaynak Sayfa</strong>
</div>
<div class="card-block">
<div class="row">
<!--Site Page Source Form Group-->
<div class="form-group">
<div class="form-group col-sm-6">
<label for="page_url">Sayfa Url</label>
<!--<label *ngIf="!site_source_page.controls[x].controls.page_url.valid" class="text-danger">*</label>-->
<input type="text" class="form-control" id="page_url" placeholder="Badge-Manager" formControlName="page_url">
</div>
</div>
<div class="form-group col-sm-6">
<label for="postal-code">Tarama Aralığı</label>
<input type="text" class="form-control" id="postal-code" placeholder="Badge-Email">
</div>
</div>
<div class="row">
<div formArrayName="page_containers">
<div *ngFor="let page_container of site_source_page.controls.page_containers.controls; let i=index">
<div [formGroupName]="i">
<div class="col-sm-4">
<div class="form-group">
<label for="ccnumber">Container {{i + 1}} Type</label>
<label [hidden]="site_source_page.controls.page_containers.controls[i].controls.container_type.valid" class="text-danger">*</label>
<input type="text" class="form-control" id="container_type" placeholder="Container Type" formControlName="container_type">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label for="ccnumber">Container {{i + 1}} Selector Type</label>
<input type="text" class="form-control" id="selector_type" placeholder="Container Selector Type" formControlName="selector_type">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label for="ccnumber">Container {{i + 1}} Css Query</label>
<span class="glyphicon glyphicon-remove pull-right" *ngIf="site_source_page.controls.page_containers.controls.length > 1" (click)="removePageContainer(i)">x</span>
<input type="text" class="form-control" id="container_css_query" placeholder="Container Css Query" formControlName="selector_css_query">
</div>
</div>
<div class="col-sm-12">
<button type="button" class="btn btn-secondary btn-block" (click)="addPageContainer(x)">Container Ekle</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

我想通过 typescript 将项目添加到第二个数组。我尝试访问第二个数组 (page_containers) 但出现此错误:

Cannot read property 'controls' of undefined

我的函数是这样的:

addPageContainer(x: number) {
// add container to the list
const controlSp = <FormArray>this.siteForm.controls['site_source_pages'];
const controlPc = <FormArray>controlSp.controls['page_containers'];
controlPc.push(this.initPageContainer());
}

为什么我不能用这条线到达第二个阵列?

const controlPc = <FormArray>controlSp.controls['page_containers'];

有什么想法吗?

最佳答案

尝试使用get方法,

controlSp = <FormArray> this.siteForm.get('site_source_pages');

更多详情可以引用Angular document

关于arrays - 如何在嵌套的 FormArrays 中添加元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41268769/

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