Angular 如何确保角度反应表setValue/patchvalue完整
如果我设置一个像下面这样的表单值Angular 如何确保角度反应表setValue/patchvalue完整,angular,angular-reactive-forms,Angular,Angular Reactive Forms,如果我设置一个像下面这样的表单值 this.loadBasicForm.setValue({ loadDirection, loadSubDirection, multiPointType, truckLoadType }); 我必须使用setTimeout来确保值已更新 setTimeout(() => { //do some other action with the changed values. } 除了使用setTim
this.loadBasicForm.setValue({
loadDirection,
loadSubDirection,
multiPointType,
truckLoadType
});
我必须使用setTimeout来确保值已更新
setTimeout(() => {
//do some other action with the changed values.
}
除了使用setTimeout之外,还有更好的方法吗 角度FormArray跟踪FormControl、FormGroup或FormArray实例数组的值和有效状态。setValue()和patchValue()是FormArray类的方法。
setValue():设置FormArray的值。我们需要传递一个必须与控件结构匹配的数组。如果数组与控件的结构不匹配,setValue()将抛出错误
因此,如果没有遇到任何问题setValue(),那么执行就完成了。
patchValue():修补FormArray的值。我们需要传递一个与控件结构匹配的数组。如果我们传递的数组与控件的结构不完全匹配,那么patchValue()将只修补与控件结构匹配的字段,其余字段将保持不变
因此,如果您的字段不匹配,这就是您所遇到的问题。Angular FormArray跟踪FormControl、FormGroup或FormArray实例数组的值和有效状态。setValue()和patchValue()是FormArray类的方法。
setValue():设置FormArray的值。我们需要传递一个必须与控件结构匹配的数组。如果数组与控件的结构不匹配,setValue()将抛出错误
因此,如果没有遇到任何问题setValue(),那么执行就完成了。
patchValue():修补FormArray的值。我们需要传递一个与控件结构匹配的数组。如果我们传递的数组与控件的结构不完全匹配,那么patchValue()将只修补与控件结构匹配的字段,其余字段将保持不变
因此,如果您的字段不匹配,这就是您所提出的问题。