【问题标题】:How to make sure angular reactive form setValue/patchvalue is complete如何确保角度反应形式 setValue/patchvalue 完整
【发布时间】:2020-06-15 21:42:04
【问题描述】:

如果我设置如下形式的值

this.loadBasicForm.setValue({
       loadDirection,
       loadSubDirection,
       multiPointType,
       truckLoadType
});

我必须使用 setTimeout 来确保值已更新。

setTimeout(() => {
 //do some other action with the changed values.
}

除了使用 setTimeout 之外,有没有更好的方法来做到这一点。

【问题讨论】:

    标签: angular angular-reactive-forms


    【解决方案1】:

    Angular FormArray 跟踪 FormControl、FormGroup 或 FormArray 实例数组的值和有效性状态。 setValue() 和 patchValue() 是 FormArray 类的方法。

    setValue():设置 FormArray 的值。我们需要传递一个必须匹配控件结构的数组。如果我们的数组与控件的结构不匹配,setValue()会抛出错误。

    所以,如果你没有遇到任何问题 setValue() 比执行完成。

    patchValue():修补 FormArray 的值。我们需要传递一个与控件结构相匹配的数组。如果我们传递的数组与控件的结构不完全匹配,那么 patchValue() 将只修补那些与控件结构匹配的字段,其余的将保持原样。

    所以,如果你的字段不匹配,那是你的问题。

    【讨论】:

      猜你喜欢
      • 2021-02-17
      • 2018-12-06
      • 2023-04-10
      • 2017-09-11
      • 1970-01-01
      • 2019-04-06
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多