form-create
form-create is a form generation component that can generate dynamic rendering, data collection, verification and submission functions through JSON. Supports 3 UI frameworks, and supports the generation of any Vue components. Built-in 20 kinds of commonly used form components and custom components, no matter how complex forms can be easily handled.
Adapting to vue3 version
开源的vue可视化表单设计器组件 (功能演示)
Support
- iview
- view-design
- element-ui
- ant-design-vue
If you have a form component suitable for form-create, please feel free to click here to leave a message
If it helps, you can click on "Star" in the upper right corner. Thank you!
The project is still being developed and improved. If there are any 'recommendations or questions, please ask here
本项目QQ讨论群28963712
Update log
More
description
description
description
Docs
简体中文 | English
Packages
Example
Legend
Install
Install the corresponding version according to the UI you use
iview
npm install @form-create/iview
view-design
npm install @form-create/iview4
element-ui
npm install @form-create/element-ui
ant-design-vue
npm install @form-create/ant-design-vue
Import
CDN:
iview
<script src="//vuejs.org/js/vue.min.js"></script>
<link rel="stylesheet" href="//unpkg.com/iview/dist/styles/iview.css">
<script src="//unpkg.com/iview/dist/iview.min.js"></script>
<script src="//unpkg.com/@form-create/iview/dist/form-create.min.js"></script>
element-ui
<script src="//vuejs.org/js/vue.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script src="//unpkg.com/@form-create/element-ui/dist/form-create.min.js"></script>
ant-design-vue
<script src="//vuejs.org/js/vue.min.js"></script>
<link href="https://unpkg.com/ant-design-vue@1.5.3/dist/antd.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/locale/zh-cn.js"></script>
<script defer src="https://unpkg.com/ant-design-vue@1.5.3/dist/antd.js"></script>
<script src="//unpkg.com/@form-create/ant-design-vue/dist/form-create.min.js"></script>
NodeJs:
iview
import formCreate from '@form-create/iview'
Vue.use(formCreate)
element-ui
import formCreate from '@form-create/element-ui'
Vue.use(formCreate)
ant-design-vue
import formCreate from '@form-create/ant-design-vue'
Vue.use(formCreate)
Usage
<form-create :rule="rule" v-model="fApi" :option="options" :value.sync="value"/>
export default {
data(){
return {
fApi:{},
value:{field1:'111',field2:'222',time:'11:11:11'},
options:{
onSubmit:(formData)=>{
alert(JSON.stringify(formData))
}
},
rule:[
{type:'input', field:'field1',title:'field1',value:'aaa'},
{type:'input', field:'field2',title:'field2',value:'sss'},
{type:'timePicker', field:'time',title:'time',value:'12:12:12'},
{
type:'ElButton',
title:'Modify field1',
native: false,
on:{
click: ()=>{
this.rule[0].value+='a'
}
},
children: ['Click'],
}
]
}
}
}
Demo
Download project
$ git clone https://github.com/xaboy/form-create.git
$ cd form-create
Install dependencies
$ npm run bootstrap
iview Demo
$ npm run dev:iview
view-design Demo
$ npm run dev:iview4
element-ui Demo
$ npm run dev:ele
ant-design-vue Demo
$ npm run dev:antd
Thank
时光弧线 | wxxtqk | williamBoss | HeyMrLin | djkloop | JetBrains
Donation
Contact
License
MIT
Copyright (c) 2018-present xaboy