vue+element+ui+表单动态渲染+可视化配置的方法+事件怎么添加?
<template>
<el-form :model="formData" :rules="formRules" ref="form">
<el-form-item v-for="(item, index) in formConfig" :label="item.label" :key="index">
<template v-if="item.type === 'input'">
<el-input v-model="formData[item.field]" :placeholder="item.placeholder" @input="handleInput(item.field)" />
</template>
<template v-else-if="item.type === 'select'">
<el-select v-model="formData[item.field]" placeholder="请选择" @change="handleSelect(item.field)">
<el-option v-for="option in item.options" :key="option.value" :label="option.label" :value="option.value" />
</el-select>
</template>
<!-- 其他表单元素类型 -->
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
formConfig: [], // 表单数据结构
formData: { }, // 表单数据
formRules: { } // 表单验证规则
}
},
methods: {
handleInput(field) {
// 处理输入框 input 事件
},
handleSelect(field) {
// 处理下拉框 change 事件
}
// 其他事件处理函数
}
}
</script>
推荐几个开源的vue表单设计器
Form.io是一个开源的纯JavaScript表单渲染器和API平台,为开发者提供了一种快速、单源灵活的视化方式来构建和管理表单驱动的应用程序。
FormMaking基于Vue的表单可视化表单设计器,助力企业实现低代码开发模式。源码通达信威科夫指标公式源码
VForm是可视一款基于Vue 2/Vue 3的低代码表单,支持Element UI、化表iView两种UI库。单源
基于vue2和ant-design-vue实现的视化表单设计器,样式使用less作为开发语言。表单
form-create是源码一个可以通过JSON生成具有动态渲染、数据收集、可视验证和提交功能的化表表单生成组件。
表单设计器是单源云程低代码平台的核心组件,是一款在线可视化表单建模工具。
基于 VUE3 可视化低代码表单设计器
格子表单/GRID-FORM已在Github开源,如能帮到您麻烦给个星点此查看在线文档及演示
楔子
大概4年前,我做了一个简单的动态表单功能,开发人员通过UI界面配置表单(其实就是添加常用的控件,如文本框、下拉框等)就能向用户提供数据查询,反响不错,尤其是偏后端开发的小伙伴。
时至今日,上述功能存在以下问题:
目前书面上已经有不少优秀开源的同类产品,这里列出可二次开发的,同时具备表单渲染、表单设计的工具(截止至年底)
再造个轮子吧
同类型的开源产品各有千秋,适合不同的应用场景,然而跟我想要的还不够契合。权衡后,还是觉得自己弄一个。技术选型为vue3 + naive UI,使用pnpm进行包管理(monorepo结构)。
不同于同类型产品的组件拖拽,我采用栅栏布局来堆积组件(实现起来简单,省事,暂不支持容器嵌套、子表单),通过设置组件占据的格子数可以使其独占一行,故取名GRID-FORM(栅栏表单),源码详见Github。
表单设计器
得益于VUE的响应式,设计器所见即所得显得尤为丝滑,不然得自己手撸监听配置项变动事件及界面重绘。
编辑器分为左中右三个区域(这是业内约定俗成的标准设计),有别于兄弟产品,精准获客源码我把左区域用作表单整体的参数编辑。为方便用户自定义组件,设计器对外暴露组件库参数,并封装了常用的组件(诸如输入框、单选/多选框、日期选择)。
组件分为数据型(对应上图中的输入组件、选择组件)及展示型(上图的展示组件)两类,后者不参与表单提交。
渲染器组件渲染
每个组件有唯一编号,渲染函数为一个Object(key即为组件编号),需要扩展组件时添加对应的渲染函数即可。渲染时属性分为基本信息(名称我用_开头加以区分)及组件层面两类,分别对应了组件渲染函数的两个参数:attrs、props。
渲染引擎处理完属性后,调用Render函数(不同UI库各自实现,使用者可根据业务需要自行覆写)得到组件实例。此处以文本输入框INPUT为例:
默认值
表单项默认值可以填写常量或占位符(在初始化时被模板引擎赋值),占位符格式为${ code},用户可自行扩展处理函数。
校验
此处校验分为非空、内容格式两种
当表单项勾选是否必填,则在提交前渲染器会对该值进行非空检测;若设置了校验正则,则对非空值进行正则表达式校验。
事件&钩子函数
参数说明
数据联动
常规的做法是输入类表单项增加事件(如onChange、onBlur、onFocus等),但是这样操作(实现)繁琐(困难),我的做法只需要填写一处代码(直观简单)
要启用联动需要满足以下条件:
渲染器初始化后,会对勾选监听值变动的表单项开启监听(没错,是每个表单值有独立的监听)从而获取到新旧值。注意,若在回调函数中对form改动会重新触发onChange事件。
示例
适配更多UI库
目前已实现Naive UI、Vant4的渲染器
我封装了渲染器的基础框架(组合式API),帮助使用者根据需要快速适配心仪的UI库。
结语
因个人能力有限,此工具在设计、实现上存在诸多不足,仅作学习交流。
一般企业级低代码开发平台,都有哪些具体功能?
众所周知,每家公司在发展过程中都需要构建大量的内部系统, 如运营使用的用户管理后台,销售线索后台,双十一活动后台等。海风教育源码投资许多公司内部也会聘请专业的研发团队负责开发各类后台和内部工具,大量的公司为此付出了高额的成本,工程师也因需求量大反复构建基础代码,并在这种重复造轮子的行为中磨灭了创造的热情。那么一款低代码的出现,就显得弥足珍贵了,非常方便。一、体验过程大致流程我体验过了,我们先来看看它具体有哪些开发亮点,方便后面做细分。
里面至少包含表单建模、流程设计、报表可视化、代码生成器、系统管理、前端UI等组件。
像上面这些功能,可以直接引用,我们就没必要重新造轮子,仅选择合适的组件进行集成和二次开发,即可自主开发一个低代码平台。
、连接数据源
支持连接多数据源,帮助应用快速与第三方系统完成数据整合,将第三方系统数据整合在平台里。支持包括主流数据库SQL Server、MySQL、Oracle、PostgreSQL,同时兼容国产数据库达梦、人大金仓等。
、设计表单
内置较为丰富便捷的表单引擎,拖拽搭建即可,官网显示支持有余种控件,倒是可以满足多种业务场景下的搭建需求。
PC端设计好表单后,支持移动端同步设计,一键发布至APP、小程序、H5等移动平台上,较为高效的就完成了多端自动适配,实现信息互联互通。
、流程设计
强大流程定义功能(节点审批、子流程、python中int源码条件分支、选择分支、并分支、定时器等),业务逻辑简单好理解、业务流程梳理快捷明了,同时支持一表单多流程的设置。
封装大量具有中国特色的流程动作,满足审批需求,包括权限设置、会签、或签、重审、转审、催办、撤回、加签等审批动作。
、图表呈现
通过简易配置即可自动生成各种类型的报表,内置大量可视化控件效果,通过OLAP多维分析功能,帮助洞察解决数据背后的问题。
同时支持静态数据、数据库和API等多种数据源接入数据,可满足多元化的数据整合需求。
、组织架构设置
JNPF支持多租户模式,可根据管理模式差异进行业务分区应用;支持同步管理多个资工作区环境,实现各子工作区的日常使用互不干扰。
当然,不用担心的是,不同的分子公司它也支持分别对接企微和钉钉架构。
二、效率评价极易实现。整个过程流畅,基本无卡顿,易于理解和调试。
多端开发。PC端设置好表单后移动端同步生成,很便捷。
有简单的功能配置,也有可用于配置复杂的场景。后者,可能对于业务人员独立开发上要下点功夫,但并不影响它的全能性。
三、小结对于整个应用开发流程体验完成后。站长免费源码网个人认为它的综合使用感及市场性价比算是不错的。分钟完成一个基础应用,2-3小时就能摸清整套系统的使用流程和基本功能的位置,产品的功能集成和操作复杂平衡也较为合理。
idea可视化gui设计(idea可视化gui设计控件大小)
1. IDEA插件从零开始系列 - 2. 创建带GUI的对话框并修改文件
2. 通过DialogBuilder构建对话框并调用show显示效果如下
3. 如何用IntelliJ IDEA里面的GUI功能编写界面试用了一下IntelliJ,使用下来还是比较爽的,最后我这个很少花钱买软件的人,也在oschina上买了个人版。IDE毕竟是码农干活的家伙,想想也值了。使用的时候有一些心得,记录下来。
4. 调整界面为酷酷的黑色Preferences=Appearance=theme=Darcula
5. 检出项目:VCS=CheckoutFromVersionControl,maven项目会被自动识别出来。
6. 设置快捷键:Preferences=keymaps,有很多套方案,当然即使选择Eclipse也还是有很多和Eclipse不同的地方。
7. 自动补全:Mac下默认是clt+space,可以使用keymaps=Mainmenu=Code=Competion设置。
8. 比Eclipse好的地方是Spring、Maven的xml,乃至freemarker模板以及iBatis的sqlmap都支持高亮和自动补全。
9. 去除自动补全的大小写敏感:不知道多少童鞋和我一样被Eclipse惯袱功递嘉郛黄店萎锭联坏了,使用自动补全完全不注意大小写的,IntelliJ默认区分大小写,很是让人难过。
. 在Editor=CodeCompletion里把Casesensitivecompletion设置为None就可以了。
. 自动展开目录Eclipse有个打开文件就自动展开目录的功能,在IntelliJ里从Project左边栏的齿轮上选择AutoscrolltoSource和AutoscrollfromSource都勾选上即可。
. 使用Tomcat运行web项目:需安装插件:TomcatandTomEEintergration选择Run=EditConfigurations,点+,选tomcatserver,Deloyment选择对应artifact。
. 项目间文件复制IntelliJ里的工作空间是Project,不同Project之间是没有什么关系的。在一个Project里copypaste,会弹出对话框,让你选择目标文件夹。
. 也就是说,并没有跨Project的复制,而是从源Project把文件复制出去。
. 自动编译IntelliJ默认是不会自动编译项目的,所以在run之前会有个make的过程,习惯自动编译项目的可以在这里打开:Compiler=makeprojectautomatically。
. 因为IntelliJ项目空间不大,所以开启之后也不会像Eclipse一样出亩塌现buildworkspace很久的情况。
. Debugdebug最好不要使用methodbreakpoint,会导迅裂圆致启动异常缓慢,博主之前就不小心启动了methodbreakpoint,然后进入调试要花掉几分钟的时间。
. IntelliJ断点可以设置Condition,其实Eclipse也可以,只不过没有这么明显,同时IntelliJ可以在Condition进行代码提示。
. 远程DebugRun=EditConfigurations,选择Add=remote,然后你懂的。
. FileTemplate与Eclipse的CodeTemplate类似,只不过IntelliJ内置变量全部为大写,例如:${ NAME}。
. 可以使用#parse(“FileHeader.java”)这种格式来导入另一个文件,跟jspinclude的源渣作用一样,实现复用的一种方式吧。
. 没有导入/导出,有点不太方便。
. LiveTemplate用惯了Eclipse快捷键的人可能会不习惯,sysout、foreach等快捷方式找不到了,main方法也无法自动补全了,其实这个在IntelliJ中有一个异常强大的模块LiveTemplate来实现。
. 例如,在class中尝试psvm+tab,则会发现main方法产生了;输入iter+tab,则生成了foreach语句。
. livetemplate还有一个surround的用法,选中某个变量,键入ctl+alt+j两次,则会出现自动补全的菜单。
. 此外,还可以自定义LiveTemplate。
. CodeSnippet技术应用也挺普遍的,IntelliJ的LiveTemplate优点是内置了一些智能的变量和函数,可以做到一些语义级别的分析和运用。
. 美国IDEA是什么?IDEA全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面的功能可以说是超常的。
. IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
. 安装窗口绘制工具创建GUIForm。注意使用这个关闭模式。使用jFrame.pack(),替换jFrame.setSize(,)。可以很好的包裹住界面。
. 选择表单布局。使用这种布局需要导入依赖。
. 表格位置的移动。调节表单的每部分的大小。对行列的添加与删除。
. 使用preview查看窗体。字体的选择,设置LabelFor。
. 文本域外边距的设置。调节文本域大小。设置文本域的不可编辑。
. 文本域内容的预先定义。使按钮占满区域。
. 按钮事件。添加manubar组件。菜单的manu和manuItem手动添加,这种只能执行main函数才能看到,使用preview是看不到的。
. 通过卡片Card布局实现界面切换。不使用可视化的代码。
. card的可替换部分使用可视化进行组装,而主要页面(包括菜单栏和替换部分)使用非可视化,手动进行构建。
. 打成可执行jar包。
UniEAP Form产品介绍
UniEAP Form产品介绍
UniEAP Form旨在通过其关键特性,快速实现电子表单应用的构建和成本节省,展现出其实际价值。它在多个方面进行了创新和努力:快速开发: UniEAP Form提供可视化表单设计工具,用户可以通过直观的方式创建所需表单,利用丰富的模板机制,实现快速应用开发。
适应需求变化: 当表单设计需要调整时,后台数据自动同步,无需停止服务,即时更新填写界面,大大减少了开发和维护负担。
权限管理: 具有细致的域级权限控制,可以根据需求灵活管理,降低维护复杂性。
在线与离线: 支持在线填写和离线保存,用户可以在任何时间、任何地点进行数据填写,提高办公效率。
开放架构与扩展性: 与业务流程无缝集成,既可独立运行,又能融入现有系统,构建强大的信息处理平台。
电子签名集成: 与符合PKI标准的签名/签章产品兼容,确保数据安全,实现无纸化办公。
UniEAP Form主要由以下几个部分构成:表单设计器: UniEAP Form Designer,图形化工具,通过拖拽和定制丰富的控件(如标签、文本框等),轻松实现表单设计和样式调整,支持计算和校验功能,简化开发人员工作。
表单填写器: UniEAP Form Reader,支持离线填写,用户可保存数据,随时继续填写,适应不同网络环境下的办公需求。
表单引擎: UniEAP Form Engine,解析表单,处理用户请求,确保在线填写和数据管理功能的正常运行。
表单管理: UniEAP Form Manager,轻量级浏览器应用,管理模板、配置和权限,便于整体表单系统的维护和管理。
扩展资料
UniEAP Form是一套面向开发人员和最终用户的电子表单系统,它基于J2EE体系架构、跨平台并支持与多种关系数据库的交互,满足在线和离线两种表单填写方式,具有灵活的权限管理机制,能够帮助用户高效的进行电子表单应用的开发。UniEAP Form的应用开发包括构建和运行两个阶段。构建阶段包括表单模板定制和表单授权,运行阶段即展现表单界面供用户填写表单。二次开发人员的开发工作主要集中在构建阶段,而运行阶段是面向最终用户的,即填写表单。XRender - 开源之路
XRender,阿里飞猪孵化的开源产品,目前在GitHub上获得4.2k star。本文旨在分享XRender在过去一年内的发展和变革,以及它如何成为更多前端开发者的朋友。
一、前言
1. 什么是 XRender?XRender 是一套基于React.js框架的轻量、易用、易上手的中后台「表单 / 表格 / 图表」解决方案,已经在阿里飞猪内部服务三年,未来将持续为用户提供服务。
2. 为什么需要 XRender?对于中后台业务而言,表单+表格能覆盖%的业务场景,且大部分场景重复度高。开发人员无需浪费时间在切图上,XRender这类工具能有效提升开发效率。
二、XRender 的自我革新
三年前,FormRender作为表单解决方案在GitHub上开源,成为XRender家族的首成员。面对复杂业务场景,FormRender的旧技术方案面临挑战,内部决定升级FormRender,并增加更多Render方案,以提升内部前端开发者的效率。
现在的XRender包括FormRender、FRGenetator、TableRender和ChartRender四个组件,统称为XRender。
1.「FormRender」:协议驱动的表单解决方案。代码示例展示其核心功能不变,遵循「协议驱动渲染」原则。
代码重构,面向未来:FormRender 1.x 对内核进行彻底重构,全面拥抱React Hooks和Antd Design 4.x,增加Typescript类型定义,简化编写方式。新增beforeFinish、onFinish钩子,用于表单提交前的校验和数据提交,以及onMount方法,类似于React的componentDidMount。引入userForm方法,方便操作表单和schema,提供动态修改功能。新增watch变量,用于数据监听,增加组件丰富度,如rate、treeSelect等内置支持,以及通过JSON Schema的format属性自定义组件。
2.「表单设计器」:中后台表单可视化搭建工具,提供可拖拽、可搭建能力,并支持导出schema。
3.「TableRender」:表格解决方案,内置搜索、重置、分页功能,简化开发流程。
4.「ChartRender」:基于@ant-design/charts的图表解决方案,提供快速生成图表的能力。
三、适合场景
XRender广泛应用于阿里飞猪的中后台业务,同时被阿里云、高德、淘宝、蚂蚁等BU的开发者使用。对于面向运营的搭建平台,推荐使用XRender。
四、未来规划
1. 内置组件支持自定义:开放List、Array类型的嵌套组件样式定制化,满足不同业务需求。
2. XRender 2.0开发:计划于年中旬完成,支持移动端渲染引擎Rax和Ant Design Mobile v5。
五、结尾
感谢XRender的开发者,特别制作视频以致敬社区。如果你希望在项目中使用XRender,可访问文档站点快速上手。若对源代码感兴趣或有建议,欢迎访问GitHub仓库。如XRender对你有帮助,请在GitHub上给予支持。
2024-11-23 11:52
2024-11-23 11:37
2024-11-23 10:57
2024-11-23 10:13
2024-11-23 09:58