From d3871fc1738c831094f9b361a9cd64eb59f3271a Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Thu, 23 Oct 2025 20:31:08 +0200 Subject: [PATCH] nullable union --- .../stories/OmegaForm/Union.vue | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/packages/vue-components/stories/OmegaForm/Union.vue b/packages/vue-components/stories/OmegaForm/Union.vue index 927381947..cc78dfab8 100644 --- a/packages/vue-components/stories/OmegaForm/Union.vue +++ b/packages/vue-components/stories/OmegaForm/Union.vue @@ -5,22 +5,32 @@ label="title" name="title" /> - + name="union" + > + + @@ -45,8 +55,8 @@ class B extends S.TaggedClass()("B", { }) {} const schema = S .Struct({ - title: S.String, - union: S.Union(A, B) + title: S.NonEmptyString, + union: S.NullOr(S.Union(A, B)) }) const defaultValues: typeof schema.Encoded = { @@ -69,7 +79,7 @@ const form = useOmegaForm(schema, { // sadly doesn't help :S const values = form.useStore((_) => _.values) watch(values, (cur, prev) => { - if (cur.union._tag !== prev.union._tag) { + if (cur.union?._tag !== prev.union?._tag) { console.log("resetting form") form.reset(cur) }