diff --git a/apps/demo/src/pages/job-application.astro b/apps/demo/src/pages/job-application.astro index c96bb4c..93033b1 100644 --- a/apps/demo/src/pages/job-application.astro +++ b/apps/demo/src/pages/job-application.astro @@ -101,6 +101,16 @@ const submit: Submit = { type: "submit", }; +const values = { + firstName: "James", + lastName: "Bond", + email: "james.bond@gmail.com", + country: "U.S.A", + eligible: "yes" +} + +infoForm.setValue(values); + infoForm.name = "Application Form"; skillsForm.name = "Skills"; diff --git a/packages/form/core/form-group.ts b/packages/form/core/form-group.ts index c797535..471cedc 100644 --- a/packages/form/core/form-group.ts +++ b/packages/form/core/form-group.ts @@ -18,4 +18,8 @@ export class FormGroup { get(name: string): FormControl | undefined { return this.controls.find((control) => control.name === name); } + + setValue(values: object) { + Object.keys(values).forEach((name) => this.get(name)?.setValue(values[name as keyof object])); + } }