我正在使用角度形式生成器,并且试图在表格内创建表单。我有一个父母名单,每个父母都有一个孩子名单,每个孩子都需要一张表格。
我的表单生成器如下:
Error in library.dynam(lib, package, package.lib) :
shared object ‘rlang.so’ not found
ERROR: lazy loading failed for package ‘dplyr’
问题是我不确定如何在带有表单控件的表中显示它,因为“常规”方式将嵌套div,例如:
let parentsModel: any[] = [
{
parentName: 'A',
children: [
{
childName: 'AA',
value: 1
},
{
childName: 'AB',
value: 2
}
]
},
{
parentName: 'B',
children: [
{
childName: 'BA',
value: 3
}
]
}
]
this.form = this.formBuilder.group({
parents: this.formBuilder.array(
parentsModel.map(parent => this.formBuilder.group({
parentName: [parent.ParentName],
children: parent.children.map(child => this.formBuilder.group({
childName: [child.childName],
value: [child.value, [Validators.required]],
}))
}))
)
});
我的表当前看起来是这样的(没有引用表单),因此无法以上述方式嵌套元素,因为您不能在元素内嵌套或其他任何元素。
<form [formGroup]="form">
<div formArrayName="parents">
<div *ngFor="let parent of parentsModel; let pIndex=index">
<div [formGroupName]="pIndex">
<div formArrayName="children">
<div *ngFor="let children of parent.children; let cIndex=index">
<div [formGroupName]="cIndex">
<!--form controls here-->
</div>
</div>
</div>
</div>
</div>
</div>
</form>
我想知道使用ng-template,但是似乎只能用于结构化指令,还有其他方法吗?