为了账号安全,请及时绑定邮箱和手机立即绑定

基于Vue,ElementUI开发的一款表单设计器

标签:
Vue.js

介绍

基于Vue,ElementUI开发的一款表单设计器,提高表单开发效率的利器,让开发者从枯燥的表单代码编写中解放出来

工具地址:http://tools.xiaoyaoji.cn/form

GitHub地址:https://github.com/GavinZhuLei/vue-form-making

webp

image

特性

  • 可视化配置页面

  • 提供栅格布局,并采用flex实现对齐

  • 一键预览配置的效果

  • 一键生成配置json数据

  • 一键生成代码,立即可运行

  • 提供自定义组件满足用户自定义需求

  • 提供远端数据接口,方便用户需要异步获取数据加载

  • 提供功能强大的高级组件

  • 支持表单验证

  • 快速获取表单数据

CDN

<!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/form-making/dist/FormMaking.css"><!-- 引入组件库 --><script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://unpkg.com/form-making/dist/FormMaking.umd.js"></script>

Install

npm install form-making -S

Quick Start

import FormMaking from 'form-making'import 'form-making/dist/FormMaking.css'Vue.use(FormMaking)// orimport {
  GenerateForm
} from 'form-making'import 'form-making/dist/FormMaking.css'Vue.component(GenerateForm.name, GenerateForm)

Template

<fm-generate-form></fm-generate-form>

功能介绍

通过 在线地址生成的JSON,用于表单渲染

webp

image


下面就是加载对应的数据用于展示,假设你已经正确加载组件

<fm-generate-form 
    :data="jsonData" 
    :remote="remoteFuncs" 
    :value="values"
    ref="generateForm"></fm-generate-form>
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 => {                // 数据校验失败
            })
        }
    }
})



作者:GavinZhulei
链接:https://www.jianshu.com/p/cd40376ea4ff


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消