Skip to content

MeshForm Component ​

<MeshForm> is the main component exported by @meshflow/form-vue. It connects MeshFlow state to @jsonforms/vue and owns the engine lifecycle.

Props ​

PropTypeRequiredPurpose
schemaMeshFormSchemaYesform schema
dataRecord<string, any>Noinitial form data
rulesRecord<string, FromDescriptor>Nolinkage rules
uischemaUISchemaElementNocustom UI schema
renderersJsonFormsRendererRegistryEntry[]Nocustom renderers

Events ​

EventPayloadPurpose
@changedata: Record<string, any>fires after engine updates settle
@submitdata: Record<string, any>fires when submit() is invoked

Slots ​

SlotSlot propsPurpose
#actions{ submit, getFormData }action area such as buttons

Example ​

vue
<MeshForm :schema="schema" :rules="rules" @submit="handleSubmit">
  <template #actions="{ submit }">
    <v-btn color="primary" @click="submit">Submit</v-btn>
  </template>
</MeshForm>

Migration from JSON Forms ​

If you are already using @jsonforms/vue, the migration path is intentionally small:

  • keep your schema
  • keep your custom renderers
  • keep your UISchema if you already have one
  • replace <json-forms> with <MeshForm>
  • add :rules for dependency logic

MeshForm Vue - deterministic state orchestration for JSON Forms