【问题标题】:Nested FormGroup resets all groups嵌套 FormGroup 重置所有组
【发布时间】:2019-05-03 00:00:52
【问题描述】:

我有一个带有嵌套组的 FormGroup:

this.addComponentForm = this.fb.group(
      {
        'initialValues': this.fb.group({...this.initialFormValues, ...this.dynamicFormValues, ...this.phaseFormValues}),
        'dynamicValues': this.fb.group({...this.dynamicFormValues})
      }

获取嵌套组(根据文档):

  get initialValues(): any { return this.addComponentForm.get('initialValues'); }
  get dynamicValues(): any { return this.addComponentForm.get('dynamicValues'); }

到目前为止,所有这些工作正常,表单构建,没有错误。我有一个只需要清除 initialValues 表单组的操作:this.initialValues.reset(); 但是,this.dynamicValues 中的数据也设置为空。注释掉重置不会清除任何东西,所以我知道这就是两组中的事情都被清除的地方。

我试过this.initialValues.reset({onlySelf: true});,但不行。

【问题讨论】:

  • 您的代码应该完全符合您的要求。能否提供一下html?
  • 我认为这是因为您在 'initialValues': this.fb.group({...this.initialFormValues, ...this.dynamicFormValues, 中引用了 dynamicFormValues
  • this.dynamicFormValues 用于两个 formGroups 引用相同的东西。

标签: angular angular-reactive-forms formgroups


【解决方案1】:

哦,亲爱的。您正在使用扩展运算符将 dynamicValues 复制到 initialValues 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2017-06-11
    • 2017-05-04
    • 2022-11-17
    • 2020-07-20
    • 1970-01-01
    • 2019-08-03
    相关资源
    最近更新 更多