diff --git a/.changeset/twenty-dolls-bathe.md b/.changeset/twenty-dolls-bathe.md new file mode 100644 index 000000000..245021f23 --- /dev/null +++ b/.changeset/twenty-dolls-bathe.md @@ -0,0 +1,5 @@ +--- +"@effect-app/vue-components": patch +--- + +fix: Add key to component for reactivity and include translation in schema generation diff --git a/packages/vue-components/src/components/OmegaForm/OmegaInput.vue b/packages/vue-components/src/components/OmegaForm/OmegaInput.vue index 2bf17aa00..a78f0bec6 100644 --- a/packages/vue-components/src/components/OmegaForm/OmegaInput.vue +++ b/packages/vue-components/src/components/OmegaForm/OmegaInput.vue @@ -87,7 +87,11 @@ const fieldKey = computed(() => { const m = meta.value if (!m) return propsName.value // Include type and key constraints in the key so Field re-mounts when validation rules change - return `${propsName.value}-${m.type}-${m.minLength ?? ""}-${m.maxLength ?? ""}-${m.minimum ?? ""}-${m.maximum ?? ""}` + // Cast to any since not all FieldMeta variants have these properties + const fm = m as any + return `${propsName.value}-${fm.type}-${fm.minLength ?? ""}-${fm.maxLength ?? ""}-${fm.minimum ?? ""}-${ + fm.maximum ?? "" + }` }) // Call useIntl during setup to avoid issues when computed re-evaluates