Skip to content

快速上手

本节将以ElementPlus版本为例,介绍如何在项目中使用 FormCreate 来快速生成表单。

安装与引入

使用 CDN 引入

通过 CDN 引入 Vue、Element Plus 和 FormCreate,非常适合快速原型开发和测试。

html
<!-- 引入 Vue -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<!-- 引入 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>
<!-- 引入 FormCreate -->
<script src="https://cdn.jsdelivr.net/npm/@form-create/element-ui@^3/dist/form-create.min.js"></script>
<!-- 挂载组件 -->
<script>
    const app = Vue.createApp({});
    app.use(ElementPlus);
    app.use(formCreate);
    app.mount('#app');
</script>

使用 Node.js 引入

在 Vue 项目中通过 npm 安装并引入 Element Plus 和 FormCreate。

sh
npm install @form-create/element-ui
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')

生成表单

FormCreate 提供了两种方式生成表单:组件模式和全局方法。

组件模式

使用 <form-create> 标签创建表单,适用于大多数 Vue 项目。

vue
<template>
    <formCreate :rule="rule" :option="options" v-model="formData" v-model:api="fApi"></formCreate>
</template>
<script setup>
    // 导入 form-create
    import formCreate from "@form-create/element-ui";
    import {ref} from "vue";
    // 获取 formCreate 组件, 小于3.2版本时需要手动获取组件
    // const FormCreate = formCreate.$form();
    const fApi = ref({});
    const formData = ref({});
    const options = ref({
        // 表单提交事件
        onSubmit: function (formData) {
            alert(JSON.stringify(formData))
        }
    });
    const rule = ref([
        {
            type:'input',
            field:'goods_name',
            title:'商品名称',
            value:'form-create'
        },
        {
            type:'checkbox',
            field:'label',
            title:'标签',
            value:[0,1,2,3],
            options: [
                {label:'好用',value:0},
                {label:'快速',value:1},
                {label:'高效',value:2},
                {label:'全能',value:3},
            ]
        },
    ]);
</script>

全局方法

使用 formCreate.create(rule, option) 全局方法生成表单。适用于需要在非 Vue 组件中动态生成表单的场景。

html
<div id="app">
    <div id="goods-form"></div>
</div>
js
//表单插入的节点
const root = document.getElementById('goods-form')


const fApi = window.formCreate.create(
    //表单生成规则
    [
        {
            type: 'input',
            field: 'goods_name',
            title: '商品名称'
        },
        {
            type: 'datePicker',
            field: 'created_at',
            title: '创建时间'
        }
    ],
    //组件参数配置
    {
        el: root,
        //显示表单重置按钮
        resetBtn: true,
        //表单提交事件
        onSubmit: function (formData) {
            //按钮进入提交状态
            fApi.btn.loading()
        }
    })

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用