Vue Form Wizard is a Vue.js component designed to simplify the creation and management of multi-step forms or tabbed interfaces, often referred to as 'wizards'. It provides a flexible, dependency-free solution for splitting complex forms into manageable steps, improving user experience by guiding them through a process. The current stable version is 0.8.4. While its release cadence isn't strictly defined, patches and minor updates have been released intermittently, suggesting an active maintenance approach. Key differentiators include its complete lack of external dependencies (beyond Vue itself), built-in support for features like keyboard navigation (WAI-ARIA), scoped slots for extensive customization, integration with validation libraries like Vuelidate, and handling of asynchronous step changes and validations. It supports both horizontal and vertical layouts and offers various event hooks for controlling step transitions.
npm install vue-form-wizardVerified import paths — ran on the pinned version, not inferred.
Demonstrates a basic multi-step form using `vue-form-wizard` with three tabs and data binding.
Access `TabContent` as `FormWizard.TabContent` when registering locally: `components: { FormWizard, TabContent: FormWizard.TabContent }`.Consult the official documentation for the correct scoped slot syntax for your specific `vue-form-wizard` version. Ensure you are using `v-slot` or `slot-scope` as appropriate for your Vue version and the library's expectations.
Always include `import 'vue-form-wizard/dist/vue-form-wizard.min.css'` in your main application entry point or component where the wizard is used.
For router-managed tabs, ensure `route` prop is present and correctly configured on `tab-content` components.
Ensure your `beforeChange` function returns a `Promise<boolean>` for async operations, resolving `true` to proceed or `false` (or rejecting with a message) to prevent navigation.
Globally: `import FormWizard from 'vue-form-wizard'; app.component('form-wizard', FormWizard);`. Locally: `components: { FormWizard }`.Ensure `FormWizard` is correctly imported as a default import: `import FormWizard from 'vue-form-wizard';`.
Add `import 'vue-form-wizard/dist/vue-form-wizard.min.css'` to your application's entry file or the component where the wizard is used.