为了账号安全,请及时绑定邮箱和手机立即绑定

如何在formgroup中设置数组的值

如何在formgroup中设置数组的值

繁华开满天机 2023-01-06 11:01:58

if (Object.prototype.hasOwnProperty.call(data, 'checklists')) {

      if (Array.isArray(data.checklists)) {

        data.checklists.map((dt: any) => {

          dt.tasks.forEach((task: any) => {

            const dataArray = new FormGroup({});

            dataArray.addControl('failed', new FormControl(true, Validators.required));

            dataArray.addControl('remarks', new FormControl('', Validators.required));

            dataArray.addControl('task', new FormControl(task));

            formArray.push(dataArray);

          });

        });


        data.checklists.map((dt: any) => {

          assetArray.push(dt.asset);

        });

      }

    }

    const formField = {

      remarks: new FormControl(''),

      tasks: formArray,

      room: this.creds.credentials['room'],

      asset: assetArray

    };

    return this.fb.group(formField);

如何使用新的 FormControl 从 addControl 设置值,因为我想做的是创建一个带有create data和的表单edit data。


我试图将其更改为:


            dataArray.addControl('failed', new FormControl(task['failed], Validators.required));

            dataArray.addControl('remarks', new FormControl(task['remark'], Validators.required));

            dataArray.addControl('task', new FormControl(task['task']));

但它不显示表单中的数据。但是当它在控制台上检查时它工作。 

http://img1.sycdn.imooc.com/63b78f3f0001ad4325350586.jpg

查看完整描述

1 回答

?
森栏

TA贡献1549条经验 获得超5个赞

你可以尝试使用patchValue设置值。


这是我在这里写的一个小例子。


const group = new FormGroup({

  control1 : new FormControl(),

  control2 : new FormControl(),

  control3 : new FormControl()

});


const array = new FormArray([this.group]);

在这里,如果您需要将值设置为 FormGroup 意味着,请尝试使用 patchValue() 为组中的 FormControl 设置值


this.group.patchValue({control1:'your value here'})

this.array = new FormArray(this.group)

以下链接可能对您有所帮助,


https://www.concretepage.com/angular-2/angular-2-formgroup-example


https://angular.io/guide/reactive-forms


查看完整回答
反对 回复 2023-01-06
  • 1 回答
  • 0 关注
  • 15 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信