3 Star 11 Fork 5

蒋固金 / element-form-design

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

第一部分 简介

element-form-design是基于Vue2.0+Element的可视化表单设计器,提供表单设计器(FormDesign)和表单生成器(FormBuild)两个组件,通过表单设计器快速设计出表单页面,使用表单生成器快速渲染出表单页面。

设计界面

preview

1.1 特性

  • 可视化:通过可视化操作,方便快捷的完成表单页面创建
  • Element:基于 Vue2.0 的桌面端组件库Element,使用广泛,扩展方便
  • 丰富的布局:提供栅格、表格布局方式,满足各种布局需要
  • 自定义:提供了自定义的扩展,可以简单方便的将自己的组件放入表单中进行构建
  • 易维护:各表单组件渲染与配置独立,通过策略模式实现各组件松耦合

1.2 组件

  • FormDesign 表单设计器:基于可视化操作快速设计出表单页面
  • FormBuild 表单构建器:通过表单设计器生成配置快速构建出表单页面

第二部分 组件

2.1 FormDesign表单设计器

基于可视化操作快速设计出表单页面

<template>
  <element-form-design />
</template>

2.1.1 属性

参数 说明 类型 默认值
component-width 左侧组件面板宽度 number 260
config-width 右侧配置面板宽度 number 260
min-design-width 设计面板最小宽度 number 300
header-height 顶栏高度 number 40
tool-bar-height 中间设计面板工具栏高度 number 40
footer-height 底栏高度 number 30
custom-components 自定义组件 object

2.1.2 插槽

name 说明
header 顶栏区域
toolBar 中间设计面板工具栏区域
footer 底栏区域

2.1.3 方法

方法 说明 参数
clear 清空设计数据
setData 设置设计数据,如果不传递参数等价于调用clear方法 Function(data: object)
getData 获取设计数据
extractModels 提取表单默认数据

2.2 FormBuild表单构建器

通过表单设计器生成配置快速构建出表单页面

<template>
  <element-form-build :data="data" :models="models"/>
</template>
<script>
export default {
  components: {
    ElementFormBuild
  },
  data() {
    return {
      data: {},
      models: {}
    }
  }
}
</script>

2.2.1 属性

参数 说明 类型 默认值
data 表单设计数据 object
models 表单数据 object {}
custom-components 自定义组件 object

2.2.2 方法

方法 说明 参数
validate 对整个表单进行校验的方法,参数为一个回调函数。
该回调函数会在校验结束后被调用,并传入两个参数:
是否校验成功和未通过校验的字段。
若不传入回调函数,则会返回一个 promise
Function(callback: Function(boolean, object))
validateField 对部分表单字段进行校验的方法 Function(props: array | string, callback: Function(errorMessage: string))
resetFields 对整个表单进行重置,将所有字段值重置为初始值并移除校验结果
clearValidate 移除表单项的校验结果。
传入待移除的表单项的prop属性或者prop组成的数组,
如不传则移除整个表单的校验结果
Function(props: array | string)
getRawModel 获得表单原始数据

第三部分 二次开发

element-form-design支持开发者扩展自己的组件或者替换现有组件,扩展有两种方式:组件扩展和源码扩展

3.1 组件扩展

组件扩展是指通过custom-components属性注入自定义组件信息。

3.2 源码扩展

MIT License Copyright (c) 2021 jianggujin (www.jianggujin.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

基于Vue2.0+Element的可视化表单设计器,提供表单设计器和表单生成器两个组件,通过表单设计器快速设计出表单页面,使用表单生成器快速渲染出表单页面。 展开 收起
JavaScript 等 5 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/jianggujin/element-form-design.git
git@gitee.com:jianggujin/element-form-design.git
jianggujin
element-form-design
element-form-design
master

搜索帮助