A dynamic form wizard to split your forms easier

vue3-form-wizard is a vue based component with no external dependencies which simplifies tab wizard management and allows you to focus on the functional part of your app rather than wasting time on details.

Version 1 Highlights v1

  • Schema mode: Declarative steps with schema, condition, validate, and v-model — see Schema
  • Classic mode: Slot-based steps with <tab-content> (unchanged)
  • Router: Supports string paths and route objects; URL sync when vue-router is installed
  • Accessibility: ARIA roles, keyboard navigation, unified IDs
  • Richer slot props: tabs, tabCount, wizardData, updateWizardData

Usage

NPM

npm install vue3-form-wizard

YARN

yarn add vue3-form-wizard

Direct script include

Download the css and js files from dist folder or reference them directly from github (check jsfiddle links)

<link rel="stylesheet" href="https://unpkg.com/vue3-form-wizard/dist/style.css">
<script src="https://unpkg.com/vue3-form-wizard"></script>

Component registration

//global registration
import Vue3FormWizard from 'vue3-form-wizard'
import 'vue3-form-wizard/dist/style.css'
Vue.use(Vue3FormWizard)

//local registration
import {FormWizard, TabContent} from 'vue3-form-wizard'
import 'vue3-form-wizard/dist/style.css'
//component code
components: {
  FormWizard,
  TabContent
}

Template usage

<form-wizard>
  <tab-content title="Personal details">
    My first tab content
  </tab-content>
  <tab-content title="Additional Info">
      My second tab content
   </tab-content>
   <tab-content title="Last step">
     Yuhuuu! This seems pretty damn simple
   </tab-content>
</form-wizard>

Router Integration

Vue3 Form Wizard supports automatic route synchronization with Vue Router. For detailed setup and usage instructions, see the Router Integration documentation.

Schema Mode

In v1, you can define steps declaratively with a schema prop. See the Schema documentation for the full API.

Compatibility

vue3-form-wizard works with Vue > 3.x

Last Updated:
Contributors: parsa jiravand, parsajiravand, Serdar