[源码分享]开源的自定义表单设计器源码

  • 时间:
  • 浏览:502
  • 来源:无双科技

自定义表单设计器,这是一个现代化应用中一个加分的模块,目前很多大型的系统都会存在很多表单,针对不同的客户,可能表单都会不一样,而且不够灵活,可能针对不同的场景都得去定制化的开发很多不一样的表单,因此现在很多大型应用程序都提供了自定义表单的功能,今天就为大家介绍一些在github上发现的比较符合需求的基本实现,需要自己配合后台,但是最难的部分,也就是前端设计器的部分基本上不需要动,一起来看一看!


开源项目首页

笔者在接到项目要求后,在github上找了很久,也有好几个版本,现在全部都贡献出来,以便于大家参考,其中包括了PC端和移动端(分开的并不是集成在一起的,有点遗憾),有一些虽然开源,但是收费这里就不介绍了,下面是相关地址:

1、https://github.com/wxjaa/ddvue(Vue+移动端)

2、https://github.com/xiedajian/dingding(jQuery+移动端)

3、https://github.com/chrunlee/formdesigner(jQuery+移动端)

4、https://github.com/wxjaa/dingding(jQuery+移动端)

5、https://github.com/mrabit/vue-formbuilder(Vue+PC)


笔者是在第一个Vue版本的基础上修改的,其实大部分代码不需要修改,不过需要自行整合金自己的项目,可以根据自己的需求进行整合


项目介绍

因为笔者使用的是第一个,因此就直接拿第一个进行简单的介绍,遗憾的是没有找到React和Angular版本的,可以根据需要自行选择。

  • 1、项目结构

大致的项目结构如下,这只是一个基础的脚手架项目,因为开源的时间较长,脚手架使用的不是最新版,不过这不是重点:

92bda2442cac4b1499b82839400fcf51.jpg

2、组件部分

b7f46e0556cb4c22a8411111ceb94f81.jpg

这部分主要就是自定义的一些控件部分,像文本框、下拉框等的渲染部分都在这里,对应如下部分

002594bf57454a53b6f4977141b69e16.jpg

  • 3、中间界面部分

也就是进行拖拽后的表单容器

2f8d1518d5d7495992f34207bec9e384.jpg

4、设置部分

92b6950a05d44f4684ff9d3d455faf93.jpgf093106bb0314193881312174af4bb44.jpg

整个项目也就分为大致这几个部分,由于笔者刚刚接触Vue不久,有些地方也可能存在理解不到位的地方,这里就不在过多介绍,另外还包括头部和按钮部分,整个界面的核心就是中间的设计器部分,有需要的朋友自行修改即可,其中控件当中包含的明细,相信是大家需要的!

  • 5、开发

首先先克隆或者下载下来源代码:

# 安装依赖
npm install

# 启动服务
npm run dev

# 构建打包
npm run build

PC版的大致预览

可实现自定义表单控件,可拖拽排序,自定义属性由于这部分笔者还没有用到,因此简单的一起来看看效果

141a83cfd1b641fd99c6470193beb2fc.gif

c1c0afa8f09b46d1b022a61b694f16ab.gif


总结

对于智能表单设计器,笔者目前也正在摸索如果能够实现的更好,以上的案例都提供了非常不错的思路,非常感谢开源的作者们,如果你也有同样的需求,可以参考以上几个!

猜你喜欢

请求百度开发平台接口报错解决方案,282004 invalid parameter(s) 及

请求百度开发平台接口报错解决方案,282004 invalid parameter(s) 及'error_code': 282131 'error_msg': 'input text too long'

因为百度开发平台返回的数据都为gbk编码,而json_decode只能转utf-8编码的数据;使用iconv()函数转为utf-8编码;{'error_code':282131

2020-08-07

基于轻量级php搜索sphider站内搜索安装说明

基于轻量级php搜索sphider站内搜索安装说明

安装1.解压缩文件,然后将它们复制到服务器,例如,复制到/home/youruser/public_html/sphider(后称为[path_of_sphider])。2.在

2020-08-06

百度云、阿里云、开启CDN后,PHP获取用户真实IP的方法

百度云、阿里云、开启CDN后,PHP获取用户真实IP的方法

最近网站上CDN,但上CDN的同时,要获取到用户的真实IP地址。虽然网上有很多关于网站在CDN加速的情况下,PHP获取用户真实IP地址的方法,但总觉的不可靠,还是自己测试一下最

2020-08-06

如何使用chrome浏览器模拟微信访问网页?

如何使用chrome浏览器模拟微信访问网页?

APP、微信小程序开发时,我们经常需要使用电脑模拟微信访问,今天就教你如何使用谷歌、360浏览器的F12功能模拟微信访问网页。第一步:使用谷歌浏览器打开网页,按下F12或FN+

2020-08-04

php QRcode::png图片生成base64_encode后图片无法显示,暗中77u/ BOM头,让你猝不及防

php QRcode::png图片生成base64_encode后图片无法显示,暗中77u/ BOM头,让你猝不及防

最近做了一个支付宝的扫码支付功能,网上参考稳献一大篇,马上搬砖上码,功夫不付有心人,很快就OK了,上线服务器测试,既然无法显示二维码,以下是生成的二维码data:image/p

2020-07-31

深圳网站建设扫码支付功能升级维护