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之后设置表单控件值。正当我该怎么做?