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

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

自定义表单设计器,这是一个现代化应用中一个加分的模块,目前很多大型的系统都会存在很多表单,针对不同的客户,可能表单都会不一样,而且不够灵活,可能针对不同的场景都得去定制化的开发很多不一样的表单,因此现在很多大型应用程序都提供了自定义表单的功能,今天就为大家介绍一些在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


总结

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

猜你喜欢

企业信息系统建设的5个阶段

企业信息系统建设的5个阶段

信息系统基本涵盖了公司的所有方面,从员工到业务,算一个较重的工具。很少有公司在成功之初就上大型的信息系统,基本是企业人数、业务,发展到一定规模才会上专业的管理软件。毕竟不可能公

2020-01-13

5行代码,实现一个js的打字效果

5行代码,实现一个js的打字效果

有次看电影,看到屏幕上一个个的文字蹦出来,感觉像是有人在打字一样,觉得挺有意思,于是这里也用js实现了一个。效果预览最简单的打字效果只要五行代码,这里直接贴出来:constdo

2020-01-07

分享几个第一次看到就被它的优美深深震撼到的代码

分享几个第一次看到就被它的优美深深震撼到的代码

1、线性求逆元:for(inti=2;i<MAXN;i++) inv[i]=mul(inv[mod%i],mod-mod/i,mod);仅仅两行代码,就实现了在$O(n)

2019-12-27

什么样的网站才叫大气?如何设计出大气的网站?

什么样的网站才叫大气?如何设计出大气的网站?

做过网站建设的工作的人都有体会,当问及许多客户对网站的需要的时候,他们大多数都说不上来,但是通常他们都会说网站设计的要“大气”。做为一个网页设计人员遇到这样的词是有些头疼的。因

2019-12-12

[源码分享]一个扁平化风格响应式布局的后台管理模版

[源码分享]一个扁平化风格响应式布局的后台管理模版

一个很赞的,扁平化风格的,响应式布局的后台管理模版,旨为后端程序员减压!PC端效果预览手机移动端效果预览项目地址:https://gitee.com/bobi1234/ok-a

2019-12-09