Skip to content

Quick Start

This section uses the ElementPlus version as an example to show how to use FormCreate to quickly generate forms in your project.

Installation and Import

Using CDN Import

Import Vue, Element Plus, and FormCreate via CDN, perfect for rapid prototyping and testing.

html
<!-- Import Vue -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<!-- Import Element Plus -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-plus/dist/index.css">
<script src="https://cdn.jsdelivr.net/npm/element-plus/dist/index.full.min.js"></script>
<!-- Import FormCreate -->
<script src="https://cdn.jsdelivr.net/npm/@form-create/element-ui@^3/dist/form-create.min.js"></script>
<!-- Mount Component -->
<script>
    const app = Vue.createApp({});
    app.use(ElementPlus);
    app.use(formCreate);
    app.mount('#app');
</script>

Using Node.js Import

Install and import Element Plus and FormCreate in your Vue project via npm.

sh
npm install @form-create/element-ui@^3
npm install element-plus
js
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import formCreate from '@form-create/element-ui'
const app = createApp(App)
app.use(ElementPlus)
app.use(formCreate)
app.mount('#app')

Note

If you haven't globally mounted the UI framework, manually register the required components before form rendering, or directly import the preset components provided by FormCreate load file.

Generating Forms

FormCreate provides two ways to generate forms: component mode and global method.

Component Mode

Use the <form-create> tag to create forms, suitable for most Vue projects.

vue
<template>
    <formCreate :rule="rule" :option="options" v-model="formData" v-model:api="formApi"></formCreate>
</template>
<script setup>
    // Import FormCreate
    import formCreate from "@form-create/element-ui";
    import {ref} from "vue";
    const formApi = ref({});
    const formData = ref({});
    const options = ref({
        // Form submit event
        onSubmit: function (formData) {
            alert(JSON.stringify(formData))
        }
    });
    const rule = ref([
        {
            type:'input',
            field:'goods_name',
            title:'Product Name',
            value:'form-create'
        },
        {
            type:'checkbox',
            field:'label',
            title:'Tags',
            value:[0,1,2,3],
            options: [
                {label:'Easy to Use',value:0},
                {label:'Fast',value:1},
                {label:'Efficient',value:2},
                {label:'All-in-One',value:3},
            ]
        },
    ]);
</script>

Global Method

Use the formCreate.create(rule, option) global method to generate forms, suitable for scenarios where you need to dynamically generate forms outside of Vue components.

html
<div id="app">
    <div id="form"></div>
</div>
js
// Node where the form is inserted
const root = document.getElementById('form')
const formApi = window.formCreate.create(
    // Form generation rules
    [
        {
            type: 'input',
            field: 'goods_name',
            title: 'Product Name'
        },
        {
            type: 'datePicker',
            field: 'created_at',
            title: 'Created At'
        }
    ],
    // Component parameter configuration
    {
        el: root,
        // Show form reset button
        resetBtn: true,
        // Form submit event
        onSubmit: function (formData) {
            // Button enters submit state
            formApi.btn.loading()
        }
    })

FormCreate is an open-source project released under the MIT License. Free for personal and commercial use.