如何在表格中嵌套角形属性?

时间:2019-01-07 12:45:47

标签: angular html-table angular2-formbuilder

我正在使用角度形式生成器,并且试图在表格内创建表单。我有一个父母名单,每个父母都有一个孩子名单,每个孩子都需要一张表格。

我的表单生成器如下:

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,但是似乎只能用于结构化指令,还有其他方法吗?

0 个答案:

没有答案