Angular 6循环遍历子表单控件以填充表单
创始人
2024-10-16 09:31:41
0

在Angular 6中,可以使用FormGroupget方法来获取子表单控件,并使用循环遍历来填充表单。

以下是一个示例代码:

import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';

@Component({
  selector: 'app-form',
  templateUrl: './form.component.html',
  styleUrls: ['./form.component.css']
})
export class FormComponent implements OnInit {
  myForm: FormGroup;

  ngOnInit() {
    this.myForm = new FormGroup({
      firstName: new FormControl(''),
      lastName: new FormControl(''),
      address: new FormGroup({
        street: new FormControl(''),
        city: new FormControl(''),
        state: new FormControl(''),
        zip: new FormControl('')
      })
    });
  }

  populateForm() {
    const data = {
      firstName: 'John',
      lastName: 'Doe',
      address: {
        street: '123 Main St',
        city: 'New York',
        state: 'NY',
        zip: '12345'
      }
    };

    for (const controlName in this.myForm.controls) {
      if (this.myForm.controls.hasOwnProperty(controlName)) {
        if (this.myForm.get(controlName) instanceof FormGroup) {
          const subForm = this.myForm.get(controlName) as FormGroup;
          for (const subControlName in subForm.controls) {
            if (subForm.controls.hasOwnProperty(subControlName)) {
              subForm.get(subControlName).patchValue(data[controlName][subControlName]);
            }
          }
        } else {
          this.myForm.get(controlName).patchValue(data[controlName]);
        }
      }
    }
  }
}

在上面的示例中,我们首先创建了一个FormGroup,其中包含了一个子表单控件address。然后,在populateForm方法中,我们使用循环遍历myForm.controls来获取每个控件,并使用patchValue方法来填充相应的值。

这样,当调用populateForm方法时,表单的值将会被填充为示例数据中的值。

相关内容

热门资讯

受玩家影响!情怀怎么开挂,原来... 受玩家影响!情怀怎么开挂,原来有挂辅助脚本(有挂教程)-哔哩哔哩;1、每一步都需要思考,不同水平的挑...
近日!新超圣伏虎,果然真的有辅... 近日!新超圣伏虎,果然真的有辅助app(有挂技巧)-哔哩哔哩1、首先打开新超圣伏虎辅助器下载最新版本...
出现新变化!星悦辅助器,原来存... 出现新变化!星悦辅助器,原来存在有辅助下载(的确有挂)-哔哩哔哩1、起透看视 星悦辅助器辅助软件价格...
来临!新西部透视辅助,切实有挂... 来临!新西部透视辅助,切实有挂辅助安装(真实有挂)-哔哩哔哩所有人都在同一条线上,像星星一样排成一排...
今日!科乐填大坑破解版安卓,竟... 今日!科乐填大坑破解版安卓,竟然存在有辅助修改器(有挂细节)-哔哩哔哩1、全新机制【科乐填大坑破解版...
据了解!小程序微乐游戏辅助,一... 据了解!小程序微乐游戏辅助,一直有挂辅助神器(存在有挂)-哔哩哔哩1、金币登录送、破产送、升级送、活...
截至发稿!欢乐贰柒拾辅助,一直... 截至发稿!欢乐贰柒拾辅助,一直有挂辅助平台(竟然有挂)-哔哩哔哩所有人都在同一条线上,像星星一样排成...
据相关数据显示!新九哥源码,一... 据相关数据显示!新九哥源码,一贯存在有辅助器(有挂方法)-哔哩哔哩1、新九哥源码有没有辅助教程、新九...
长期以来!情怀游戏辅助器,真是... 长期以来!情怀游戏辅助器,真是有挂辅助软件(竟然有挂)-哔哩哔哩1、游戏颠覆性的策略玩法,独创攻略技...
推出新举措!关春天辅助凑一桌,... 推出新举措!关春天辅助凑一桌,确实是真的辅助安装(有挂攻略)-哔哩哔哩1、关春天辅助凑一桌有没有辅助...