Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何确保角度反应表setValue/patchvalue完整_Angular_Angular Reactive Forms - Fatal编程技术网

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()将只修补与控件结构匹配的字段,其余字段将保持不变

因此,如果您的字段不匹配,这就是您所提出的问题。