javascript - 访问嵌套 formGroup 内的表单属性

标签 javascript forms angular

如何访问嵌套 formGroup 内的表单属性?这可能听起来很困惑,但我认为代码将帮助你们理解。 这是 formGroup,正如您所看到的,formGroup 中有一个数组:

      this.formDadosBancarios = this._fb.group({
        id: [''],
        dados_titular: this._fb.array([
          this.initTitular()
        ])
      })

   initTitular(){
        return this._fb.group({
            titular: ['', [<any>Validators.required, <any>Validators.minLength(3)]],
            cnpj: [''],
            cpf: ['', Validators.required],
            data_nasc: ['', Validators.required],
            agencia: ['', <any>Validators.required ],
            banco: ['', <any>Validators.required],
            conta: ['', <any>Validators.required],
            tipo:  ['', <any>Validators.required],
            pessoa_juridica: ['']
        })
    }

这是我尝试访问 ìnitTitular` 内的属性 cpf 的代码片段(我知道下面的代码看起来毫无意义,但只是为了说明逻辑):

const cpfCtrl: AbstractControl = this.formDadosBancarios.get('dados_titular').get('cpf');

最佳答案

您只需要使用 FormArrayat(index: number) : AbstractControl 方法即可

let array = <FormArray> this.formDadosBancarios.get('dados_titular');
let cpf = array.at(0).get("cpf");

我认为你也可以这样做(但我不确定 FormArray 的 [0])。请参阅docs

this.formDadosBancarios.get('dados_titular[0].cpf'); //maybe it's ".0" instead of "[0]"
this.formDadosBancarios.get(['dados_titular',0,'cpf']);

关于javascript - 访问嵌套 formGroup 内的表单属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42956302/

相关文章:

javascript - Jasmine 的 spyOn toHaveBeenCalled 方法的问题

Javascript 下拉列表不起作用

javascript - 如何在另一个html中调用函数

javascript - jQuery - 单选按钮单击()

javascript - PHP 简单 HTML DOM 和下拉元素选择选项

php - 需要帮助让表格从提交区域提交/离开

forms - 使用经典 ASP 加密 Crypt 字段以进行 SagePay 表单集成

Angular 6服务注入(inject)Interceptor后未定义

javascript - 将整个对象以 Angular 2 从一个组件发送到另一个组件

javascript - 在发射其他可观察对象后过滤 RxJS 流,直到计时器用完