A Vue.js component for rendering out forms based on the Form.io platform.
Vue Formio
can be used on the server, or bundled for the client using an
npm-compatible packaging system such as Browserify or
webpack.
npm install vue-formio --save
HTML inside of Vue template file:
<template>
<div id="app">
<formio src="" url="" form="" submission="" options="" v-on:submit=""></formio>
</div>
</template>
Javascript inside of Vue template file.
<script>
import { Form } from 'vue-formio';
export default {
name: 'app',
components: { formio: Form },
}
</script>
The form API source from form.io or your custom formio server.
See the Creating a form for where to set the API Path for your form.
You can also pass in the submission url as the src
and the form will render with the data populated from the submission.
If you pass in the form and submission directly, some components such as resources, files and forms need to know the url of the form on the server. Pass it in with the url option.
An object representing the form. Use this instead of src for custom forms.
Note: src
will override this property if used.
An object representing the default data for the form.
Note: src
will override this if a submission url is entered.
An object with the formio.js options that is passed through. See Form.io Options.
All events triggered from the form are available via the v-on property. See Form.io Events for all the available events.
Then on the form set <formio src="myform" v-on:submit="doSomething" />
HTML inside of Vue template file:
<template>
<div id="app">
<formbuilder v-bind:form="{display: 'form'}" v-bind:options="{}" v-on:change="(schema) => console.log(schema)"></formbuilder>
</div>
</template>
Javascript inside of Vue template file.
<script>
import { FormBuilder } from 'vue-formio';
export default {
name: 'app',
components: { FormBuilder },
}
</script>
Get access to the form instance
<template>
<div id="app">
<formio ref="formioForm"></formio>
</div>
</template>
Run a method
this.$refs.formioForm.formio.submit()
All methods are available here https://help.form.io/developers/form-renderer#form-methods
Released under the MIT License.