Angular动态表单生成(三)】的更多相关文章

好久不写博客了,手都生了,趁着最近老大让我研究动态表单生成的时机,撸一发博客~~ 开源项目比较 老大丢给我了两个比较不错的开源的动态表单生成工具,这两个项目在github上的star数量基本持平: https://form.io/#/ https://github.com/udos86/ng-dynamic-forms form.io 其中from.io本身是一个商业项目,只是开源了其中动态表单生成的部分.他的功能有点强大,从官方简介的视频来看看,支持拖拽.验证.设置各种默认值等等,商业版本甚至…
动态表单生成之拖拽生成表单(下) 我们的动态表单,最终要实现的效果与Form.io的在线生成表单的效果类似,可以参考它的demo地址:https://codepen.io/travist/full/xVyMjo 准备工作 首先,我们在过程中会需要用到一个弹出层控件,这里引用KendoUI的Dialogs,使用下面的命令安装: npm i --save @progress/kendo-angular-dialog 安装完成后,会提示几个可选依赖没有安装,我们继续使用命令完成安装: npm i --…
动态表单生成之拖拽生成表单(上) 这个功能就比较吊炸天了,之前的六篇,都是ng-dynamic-forms自带的功能,可能很多的说明官方的文档都已经写了,我只是个搬运工,而在这篇文章中,我将化身一个工程师,来自己创造点东西,让我们一起来期待吧~ 导入相关类库 拖拽功能看似吊炸天,其实HTML5中已经有一套标准来定义它了,所以并没有那么难以实现,这篇关于拖拽的文章写得还可以,大家可以先看看:http://www.zhangxinxu.com/wordpress/2011/02/html5-drag…
动态表单生成之布局 到上面的篇章为止,我们已经把表单比较完整的生成出来了,也实现了一些验证功能,可以说,我们截止这里,就已经可以满足我们的大部分表单生成需求了~ 但是: 目前来说,我们对于表单的布局只能是用一些公用的CSS统一控制一下,但是如果说我们的表单有需要将一些控件需要单独来点样式呢?我们接下来一起看看吧~ 理论部分 其实,我们在<dynamic-kendo-form></dynamic-kendo-form>中,可以指定一个属性 [layout]="formLay…
ng-dynamic-forms源码分析 在两个开源项目中,ng-dynamic-forms的源码相较于form.io,比较简单,所以我还勉强能看懂,下面就我自己的理解进行简单分析,若有不对的地方,请大家多多指正. 整体结构分析 ng-dynamic-forms的主要代码均分布在packages文件夹下,其中的Core是各种控件的抽象,其他的文件夹是各个UI框架的具体封装,每个文件夹都是一个可独立编译运行的项目. Core文件夹内容分析 Core文件夹做的事情,基本上是对于各种组件.布局的抽象,…
动态表单之根据Json生成表单 我们在实际的使用中,动态表单往往是由服务器端的一系列配置,然后返回数据给客户端,最后客户端根据数据来动态的生成表单.那么怎么像我们上面所描述的这样,生成一个可以让我们的客户端解析,并且可以用于服务器与客户端传输的字符呢? 我第一时间能想到的最直接的办法,就是生成一些列数据,这些数据中包含客户端我们在构造FormModel时每个控件中需要的属性,最终客户端去判断控件的类型,并new不同的控件,然后push到formModel中~ 那究竟在ng-dynamic-for…
ng-dynamic-forms实践篇(上) 定个小目标 先来定个小目标吧,我们要实现的效果: 动态生成一个表单,里面的字段如下: 字段名称 字段类型 验证 备注 姓名 text 必填,长度小于15 性别 radio button 必填 年龄 number 必填,必须是整数,大于0,小于150 喜欢的颜色 color picker 必填 貌似Kendo没有这个控件,先不做这个 出生年月 date picker 必填 出生时分秒 time picker 必填 密码 password 必填,长度小于…
ng-dynamic-forms实践篇(下) 我们接着上篇,先把小目标中的所有字段都定义出来 这部分就是苦力活儿了,把KendoUiComponent中的formModel完善即可: formModel: DynamicFormControlModel[] = [ new DynamicInputModel({ id: 'firstName', label: '姓名', placeholder: '请输入用户姓名' }), new DynamicRadioGroupModel({ id: 'se…
form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成组件.支持2个UI框架,并且支持生成任何 Vue 组件.内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定. 文档 | 源码 3.0.0 版本主要更新了以下内容: 适配 vue3 适配 element-plus 和 ant-design-vue3.0 功能于 2.5.12 版本一致 移除配置项 attrs scopedSlots domProps hook nativeOn nati…
Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成) 动态表单生成 ElementUI官网引导 Element表单生成 Element动态增减表单,在线代码 关键配置 template中,form和form-item的写法和绑定 data里的值为空 methods中,向后台获取数据的函数写法 1. form,form-item,input的写法[^code] <el-form :model="dynamicValidateForm" label-width=&…
介绍html5新特性的一个属性:contenteditable 作用域全局.所有的块标签都可以,例如:span.p.div.td等标签.但是,不可以作用域<br/>类型的标签. contenteditable属性的作用是,允许标签获取焦点是可以输入内容.html5之前:如果我们想创建一个表单,且表单的表格可以输入内容的情况.会选择一个js事件当点击td标签是动态生成一个input输入框显示在当前td标签区域上方,输入完成后将值赋给当前td中.然后input消失.拥有html5之后,我们只要在t…
1. 原生事件中调用angular方法, 比如 input的onChange事件想调用angular里面定义的方法 - onChange="angular.element(this).scope().uploadPhoto(this)" <div class="col-md-2"> <input onChange="angular.element(this).scope().uploadPhoto(this)" type=&qu…
说明: 组件使用了ng-zorro (https://ng.ant.design/docs/introduce/zh) 第一类:嵌套表单 1. 静态表单嵌套 demo.component.html <form [formGroup]="formGroup"> <div> <label>名称: </label> <input type="text" formControlName="title"…
概要 动态表单指的是我们的表单不是通过vue 组件一个个编写的,我们的表单是根据后端生成的vue模板,在前端通过vue构建出来的.主要的思路是,在后端生成vue的模板,前端通过ajax的方式加载后端的表单模板,权限数据和表单数据,在前端使用vue进行构建出来. 表单渲染过程. 实现步骤 1.在前端开发表单组件,比如用户组件,文本输入组件. 在平台中我们可以看到我们开发的组件. 组件的开发在第三篇有介绍. 我们定义的组件和后台配置的权限相关. 我们每个组件都定义了: permission: 权限对…
项目需求,需要根据后台接口返回数据,动态添加表单内容 说明:此组件基于Ant Design of Vue 目前支持六种表单控件:文本输入框(TextInput).文本域输入框(TextArea).下拉选择框(SelectInput).下拉多选(SelectMultiple).日期(DataPicker).日期精确到秒(DataPickerSen) 一.文本框 <template> <a-form-item :label="label" v-bind="for…
如何用angular实现表单的一些问题?核心步骤大概如下: 创建模型类 创建控制此表单的组件. 创建具有初始表单布局的模板. 使用ngModel双向数据绑定语法把数据属性绑定到每个表单输入控件. 往每个表单输入控件上添加name属性 (attribute). 添加自定义 CSS 来提供视觉反馈. 显示和隐藏有效性验证的错误信息. 使用 ngSubmit 处理表单提交. 禁用此表单的提交按钮,直到表单变为有效. -------------理论到此结束,我是最不华丽的分割线-------------…
非Core中的请参照: MVC的验证 jquery.validate.unobtrusive mvc验证jquery.unobtrusive-ajax 参照向动态表单增加验证 页面引入相关JS: <script src="~/lib/jquery/dist/jquery.js"></script> <script src="~/lib/jquery-validation/dist/jquery.validate.js"></…
背景:系统手机开单生成销售单据,通过银行pos机收款,系统收款流水与银行流水可能存在差异,所以通过获取银行接口,获取消费信息自动插入到生产系统数据库,开发对账报表,实现差异汇总! 展示效果如下: 开发简介: 1.报表使用动态表单 2.单据体使用树形控件 3.使用插件代码调用自定义的过滤框,进行传值 4.引出数据功能通过插件代码生成自定义的数据格式 5.冻结列可以实现像excel中的冻结功能 6.分层实现层级关系数据展示(收起和展示)…
只是实现了前台页面的动态表单的设计,并未实现后台绑定数据到数据库等功能.技术使用到的为jquery和bootstrap.俗话说有图有真相,先说下具体效果如下: 点击添加一个面板容器: 容器添加成功: 实现的代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <li…
介绍 form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成器.并且支持生成任何 Vue 组件.结合内置17种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定. 文档 | github 安装 CDN 引入 目前可以通过 unpkg.com/@form-create/ant-design-vue 获取到最新版本的资源,在页面上引入 js 即可开始使用. <!-- import Vue.js --> <script src="//…
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行的输入框,并禁用该行输入框的表单验证. 思路分析 动态表单验证 这里显然是一个数据遍历产生的动态表单验证问题,并且与el-table相结合.动态表单验证主要的难点在于表单项的prop属性的设置问题,由于是el-table中的表单,只需要使用scope.$index传递给prop,并将prop设置成形…
在我们一些系统里面,有时候会需要一些让用户自定义的数据信息,一般这些可以使用扩展JSON进行存储,不过每个业务表的显示项目可能不一样,因此需要根据不同的表单进行设计,然后进行对应的数据存储.本篇随笔结合基于Vue+Element实现动态表单的设计.数据录入存储的相关操作. 1.动态表单的设计 动态表单的设计一般是基于某个能够动态设计界面的方式实现的,界面上定义对应的说明以及录入数据的方式,如标签后面加上文本,或者多文本等方式.由于我们后台是强类型的数据实体,后端一般不采用动态修改数据库字段的方式…
<!doctype html> <html ng-app="myapp"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ padding: 50px; font-family: "微软雅黑"; } input{ margin-bottom: 20px; padding-lef…
在需要返回数据的地方调用表单返回方法完成数据返回 this.View.ReturnToParentWindow(retData); 在调用界面的回调函数中取出返回结果的ReturnData即可使用. 例如: 在动态表单的按钮事件中调用此方法 //确定按钮事件 private void SaveClaimerAndDate() { string errMsg = Check(); if (!string.IsNullOrWhiteSpace(errMsg)) { this.View.ShowErr…
angular编写表单验证 一.整体概述 表单内容如下图,包括常用的用户名.密码.确认密码.手机.邮箱等 整体js代码很少,就一个指令用于写确认密码和密码是否相等.其他 验证都是使用angular自带的指令进行校验和显示. 本demo还使用了bootstrap的栅栏功能进行布局,因为想写的是demo所以很多样式以及其他限制就不写了,我认为越是简单越好让别人改写使用 二.重点说明 1.表单属性: $dirty:已经修改过 $invalid:不合法 $valid:合法 $error:错误 $pris…
如果没有表单设计功能,我们一般建物理表,再把表单挂接到流程, 我们可以把外接表单的地址填到表单地址中,地址中会传递一个id. 如果使用外接表单,在审批的时候可能会“不太友好”,因为在审批单上看不到任何业务表单信息, 在腾讯的时候有一个实践就是提交流程的时候推送一些业务信息到流程引擎, 这里使用一个“快捷表单”来实现,“快捷表单”用 一个简单json(表单模型)来读取业务表中的数据. 这样在审批单中就可以显示业务表上的信息. 区别于“外接表单”,流程引擎中的另一个难点是“设计动态表单”. 设计动态…
使用Angular提交表单 我们准备在之前使用的<script>标签中设置我们的Angular应用.所以删除里面的内容,我们就可以开始了. 设置一个Angular应用 步骤为: 1. 加载Angular 2. 设置module 3. 这是controller 4. 将module和controller应用于HTML 5. 设置双向变量绑定 6. 这是错误和信息 看起来好像是很多内容,但是最终,我们会用非常少的代码,并且看起来会非常简洁.另外,创建带有更多输入更大的表单,也会更容易. Angul…
动态表单的含义是不要手动定义,直接在配置文件中进行定义. 1.手动进行定义 <form-beans > <form-bean name="userForm" type="org.apache.struts.action.DynaActionForm"> <!-- 该表单的属性是配置出来的 --> <form-property name="username" type="java.lang.Str…
学习资料:<Activiti实战> 第六章 任务表单(一)动态表单 内容概览:本章要完成一个OA(协同办公系统)的请假流程的设计,从实用的角度,讲解如何将activiti与业务紧密相连. 第四章中讲解了两种表单:动态表单和外置表单的区别.这里将使用不同的表单来完成相同的功能. 动态表单:<activiti:formProperty> 外置表单:<activiti:formKey> 6.1 动态表单…
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. private void ShowMaterialStock() { object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"]; object materialId = this.View.Model.GetPKValue(); List&l…