# layui-form-design
**Repository Path**: meystack/layui-form-design
## Basic Information
- **Project Name**: layui-form-design
- **Description**: 🔥🔥🔥基于layui Sortable拖拽组件完成的表单设计器,其中包含layui表单自有的大部分组件,包含第三方级联选择器、tags标签,在布局方面支持TAB选项卡,GRID栅格布局,代码通俗易懂,开箱即用
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://meystack.github.io/layui-form-design/
- **GVP Project**: No
## Statistics
- **Stars**: 576
- **Forks**: 191
- **Created**: 2022-03-06
- **Last Updated**: 2025-05-15
## Categories & Tags
**Categories**: layui-components
**Tags**: layui, JavaScript, 表单设计
## README
## layui表单设计器
价值源自分享
表单在线演示
SAPHP官方平台
> 简介
因维护自己的swiftadmin开源项目时需要一款基于layui的表单设计器,发现已有的开源项目并不太适合自己使用,
所以只能重复造这个轮子了,主要用于在一键CURD过程中快速设计表单,自定义生成表单布局,支持远程JSON加载,并且代码简洁易懂!
注:本表单设计器完全开源,如若功能不符合您的需求,完全可以自行二次开发或提交PR~~~
> 软件架构
基于layui2.7RC5 Sortable拖拽组件开发的一款简洁易用,功能强大的表单设计器,其中除了包含layui自身常用的属性之外;
还包括级联选择器(城市)、富文本编辑器、TAGS标签(原创)等其他可用于生产环境下的优秀组件。熟悉layui即可轻松上手,开箱即用!
增加了font-awesome图标库,开源不易,请右上角点击Star支持,感谢你的支持!!!
> 使用说明
本项目使用Sortable拖拽组件,并结合layui自身模块化编写。组件直接写HTML代码即可
尽量在项目中HTML的代码部分跟JavaScript分开,不然代码会看起来特别混乱,维护比较麻烦!
### 配置信息
---
``` JS
//默认配置
Class.prototype.config = {
id: null,
data: [], // 当前元素集合
eval: '', // 当前HTML数据
count: 0, // 当前组件总数
state: null, // 当前活动实例
index: [], // 组件分类索引
itemIndex: {}, // 子组件元素索引
master: undefined // 主界面拖拽实例
};
```
1、在HTML设计模板中增加你所需要的组件,并定义data-tag的值
``` html
表单组件
单行输入
多行输入
单选框
多选框
下拉框
日期组件
```
2、在正常加载layuiJS以及CSS后,需要自行在尾部将非layui模块规范的JS组件加载到页面中
``` js
```
3、在formDesignJS中编写你所需要增加的组件的render实现以及其他需要二次开发的属性
然后在模板首页使用如下调用方式即可完成组件的渲染工作!
``` js
layui.use(['form','jquery','flow','formDesign'],function() {
var form = layui.form;
var $ = layui.jquery;
var formDesign = layui.formDesign;
// 加载即可
formDesign.render({
elem: '#formBuilder'
,eval: '#formdesign'
});
})
```
### 图片预览
---
> 参与贡献
> 欢迎Fork 本仓库有好的需求可以提交PR
### 使用协议
1. 本软件支持个人/企业免费商用,二次开发,但必须遵循Apache2开源协议,保留代码版权(logo、素材、代码注释)
2. 使用本框架不得用于开发违反国家有关政策的相关软件和应用,否则要付法律责任!
3. 本软件依法享有国家著作权保护,故使用本软件者不得恶意篡改本源码,包括但不限于(植入木马病毒,编写违法应用)进行恶意传播。
4. 不得对本软件进行恶意篡改或倒卖,不得对本软件进行二次包装后声称为自己的产品等,请尊重国家著作权法!
5. 用户承诺接受并遵守本协议的约定。如果用户不同意本协议的约定,应立即停止使用。
当您使用这款软件的时候,默认视为您同意上述条款