From 31884a175715371d506d02cc713f3b720aaed3d4 Mon Sep 17 00:00:00 2001 From: Neil An <54966170+NeilAn99@users.noreply.github.com> Date: Sat, 12 Nov 2022 16:15:54 -0500 Subject: [PATCH] feat(form): add `setValue` method to FormGroup class (#191) --- apps/demo/src/pages/job-application.astro | 10 ++++++++++ packages/form/core/form-group.ts | 4 ++++ 2 files changed, 14 insertions(+) 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])); + } }