# vue-form-making
**Repository Path**: hopper/vue-form-making
## Basic Information
- **Project Name**: vue-form-making
- **Description**: 基于Vue,ElementUI快速创建生成表单,进行数据校验,获取表单数据
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1127
- **Created**: 2018-09-20
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vue-form-making
基于Vue,ElementUI快速创建表单,进行数据校验,获取表单数据
演示地址:http://tools.xiaoyaoji.cn/form-marking
## CDN
``` html
```
## Hello world
``` html
  
  
  
  
  
    
  
  
  
  
  
  
  
```
## Install
```shell
npm install form-making -S
```
## Quick Start
``` javascript
import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import FormMaking from 'form-making'
import 'form-making/dist/FormMaking.css'
Vue.use(ElementUI, { size: 'small' })
Vue.use(FormMaking)
// or
import {
  MakingForm
} from 'form-making'
import 'form-making/dist/FormMaking.css'
Vue.component(MakingForm.name, MakingForm)
```
## Template
``` html
```
## 功能介绍
工具提供两个组件 MakingForm(表单配置),GenerateForm(表单渲染)
首先看看 MakingForm 的功能介绍


预览可以实时预览你编辑表单的表单渲染的效果,并可以查看获取到填写的数据结构

生成JSON操作为渲染组件生成JSON数据

接下来就是 GenerateForm 如何使用,这里默认你已经将该组件正确引入项目
``` html
```
``` javascript
new Vue({
    ...
    data () {
        return {
            jsonData: {}, // 表单配置中生成的json数据
            values: {}, // 表单需要显示的表单数据
            remoteFuncs: {
                // 组件配置时配置的远端方法,保持和配置时输入的名称一致
                func_test (resolve) {
                  // 模拟接口请求
                  setTimeout(() => {
                    const options = [
                      {id: '1', name: '1111'},
                      {id: '2', name: '2222'},
                      {id: '3', name: '3333'}
                    ]
                    
                    // 获取到的值和标签可以通过配置页远端配置
                    // 值:id  标签:name
        
                    resolve(options) // 将后端获取的数据放入回调函数中
                  }, 2000)
                },
                func_test2....
            }
        }
    },
    methods: {
        ...{
            // 调用此方法验证表单数据和获取表单数据
            this.$refs.generateForm.getData().then(data => {
                // 数据校验成功
                // data 为获取的表单数据
            }).catch(e => {
                // 数据校验失败
            })
        }
    }
})
```
自此一个表单就制作完毕