Javascript 未以反应形式设置输出值-angular9
我有一个表单,在这里我使用from数组:Javascript 未以反应形式设置输出值-angular9,javascript,angular,typescript,angular-reactive-forms,Javascript,Angular,Typescript,Angular Reactive Forms,我有一个表单,在这里我使用from数组: private InitialFrom(): void { this.addElectricMoneyFG = this.fromBuilder.group({ locales: this.fromBuilder.array([]) }) } 我有一个组件,它有这个值的输出: <multi-language-data-form [selectLanguage]="selectLanguage"
private InitialFrom(): void {
this.addElectricMoneyFG = this.fromBuilder.group({
locales: this.fromBuilder.array([])
})
}
我有一个组件,它有这个值的输出:
<multi-language-data-form
[selectLanguage]="selectLanguage"
[fields]="fields"
sticy="true"
(formValue)="setValue($event)"
></multi-language-data-form>
当我想从该值更新表单时,它不会从局部变量中设置值:
setValue(value): void {
this.addElectricMoneyFG.patchValue({ ...value });
}
有什么问题?如何设置表单中的值???您不需要在主formBuilder中创建formBuilder,只需执行以下操作:
private InitialFrom(): void {
this.addElectricMoneyFG = this.formBuilder.group({
locales: []
})
}
要将值修补到表单,可以从(formValue)事件传递LanguageId,然后使用find获取值,并将所需的值修补到FormGroup
要使用patchValue方法,您需要精确地将表单字段作为传递给patchValue()的对象参数的键。例如,这里是“locales”
private InitialFrom(): void {
this.addElectricMoneyFG = this.formBuilder.group({
locales: []
})
}
setValue(languageId: number): void {
var getLocale = this.fields.find(x => x.languageId == languageId);
this.addElectricMoneyFG.patchValue({ locales: getLocale });
}