Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 从返回的后端数据为表单控件指定默认值_Angular_Angular Reactive Forms_Form Control - Fatal编程技术网

Angular 从返回的后端数据为表单控件指定默认值

Angular 从返回的后端数据为表单控件指定默认值,angular,angular-reactive-forms,form-control,Angular,Angular Reactive Forms,Form Control,我无法将表单控件的默认值分配给从后端获取的数字 我已将该号码保存到它自己的对象中,并尝试在表单控件中调用它 totalInvoice: number; finalizeInvoiceCost = this.fb.group({ totalInvoiceCost: [this.totalInvoice] }); 我希望表单控件默认为totalInvoice中存储的数字,但当我将其记录到控制台时,它会显示一个值“null”您可以使用formBuilder为控件设置默认值,如下所示: fin

我无法将表单控件的默认值分配给从后端获取的数字

我已将该号码保存到它自己的对象中,并尝试在表单控件中调用它

totalInvoice: number;

finalizeInvoiceCost = this.fb.group({
   totalInvoiceCost: [this.totalInvoice]
});

我希望表单控件默认为totalInvoice中存储的数字,但当我将其记录到控制台时,它会显示一个值“null”

您可以使用formBuilder为控件设置默认值,如下所示:

finalizeInvoiceCost = this.fb.group({
    totalInvoiceCost:  this.fb.control(this.totalInvoice, [])
});
如果您已经初始化了totalInvoice。 如果您不知道,您可以稍后致电:

this.finalizeInvoiceCost.get'totalInvoiceCost'。patchValuethis.someNewValue

好的,初始化totalInvoice后,可以按如下形式设置其值:

this.finalizeInvoiceCost.patchValue({totalInvoiceCost: this.totalInvoice}); 

您也可以使用setValue,但为此,您必须为表单中的每个字段指定一个值,否则它将崩溃。

formControl可能会获取默认值为“null”的“totalInvoice”,因为您的“totalInvoice”尚未从后端接收数据

首先,您必须确保“totalInvoice”具有数据

或者,您可以在“totalInvoicesCost”具有数据后使用此选项

this.finalizeInvoiceCost.get('totalInvoiceCost').setValue(totalInvoice);

如果能看到更多的代码就好了。那是在你的ngOnInit里面吗?totalInvoice是在延迟后填充的还是在创建组件时传入的?是在延迟后填充的。在对返回的数据段运行一些逻辑后,我设置了totalInvoice的值。如果我理解正确,请先初始化formGroup,然后在延迟后设置totalInvoice值?是。现在考虑一下,我需要在初始化期间设置invoiceTotal之后设置表单控件值。正当我该怎么做?