【问题标题】:Access value of nested formgroup Angular嵌套表单组Angular的访问值
【发布时间】:2019-07-26 12:06:28
【问题描述】:

我有一个嵌套的 FormGroup 如下:

formData = new FormGroup({
      item0: this.createForm(),
      item1: this.createForm(),
      item2: this.createForm(),
      item3: this.createForm()
    });

每个项目都是一个表单组,具有由 createForm 函数创建的 3 个属性:

createForm() {
    return new FormGroup({
      title: new FormControl(undefined, Validators.required),
      imgData: new FormControl(undefined, Validators.required),
      description: new FormControl(undefined, Validators.required)
    });
  }

现在我需要访问 imgData 中的值,例如 item2,所以我尝试了:

formData.controls['item2'].controls['imgData'].value

但它有一个错误:“AbstractControl”类型上不存在属性“控件”。

当我尝试使用 .get('imgData') 时,它工作得很好。

有没有办法在没有get 的情况下实现这一点而只使用controls

【问题讨论】:

    标签: angular forms


    【解决方案1】:

    有几种方法,你可以得到整体价值:

    formData.value.item2.imgData
    

    或转换为 FormGroup...

    (<FormGroup>formData.controls['item2']).controls['imgData'].value;
    

    controls 和 get() 都返回 AbstractControls 可能是控件、组或数组。你需要告诉 Angular 它是什么,因为控件没有自己的控件。

    【讨论】:

      猜你喜欢
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2018-03-11
      相关资源
      最近更新 更多