首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

阿里高性能表单解决方案——Formily

背景介绍 众所周知,表单场景一直都是前端中后台领域最复杂的场景,主要表现在以下几个方面: 字段数量多,如何让性能不随字段数量增加而变差? 字段关联逻辑复杂,如何更简单的实现复杂的联动逻辑?...这样的设计模式核心是将视图模型抽象出来,然后在 DSL 模板层消费,DSL 借助某种依赖收集机制,然后在视图模型中统一调度,保证每次输入都是精确渲染的,这就是工业级的 GUI 形态!...路径系统 前面提到了表单领域模型中的字段模型,如果设计的更完备的话,其实不止是字段模型,必须还要有一个表单模型作为顶层模型,顶层模型管理着所有字段模型,每个字段都有着自己的路径,那如何查找这些字段呢?...No,UI 描述协议适合更通用的 UI 表达,描述表单当然不在话下,只是它会更偏前端协议,相反,JSON-Schema,在后端模型层,都是可表达的,在描述数据上更通用,所以两种协议,各有所长,只是在单纯表单领域...所以,我们的表单完全可以使用协议来描述了,不管是再复杂的布局,还是很复杂的联动,都能做到可配置。

4K20

一张图解析 FastAdmin 中的表格列表

,则可以在一键生成 CRUD时使用 --headingfilterfield=字段名 dingfilterfield=字段名 php think crud -t test --headingfilterfield...通用搜索 ---- 通用搜索表单内容是根据 table.bootstrapTable 配置的 columns 属性决定的。...动态渲染统计信息 ---- 有些时候需要在页面额外显示服务端传回的动态数据,比如: 数据合计。... 1052 Column 'id' in where clause is ambiguous 定义属性指定查找的字段,字段前面带上表名前缀即可 // 快速搜索时执行查找的字段(user是当前模型)protected...浏览模式、显示隐藏列、导出、通用搜索 ---- 浏览模式可以切换卡片视图和表格视图两种模式,关闭此功能使用: showToggle: false 显示隐藏列可以快速切换字段列的显示和隐藏,关闭此功能使用

5.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用拖放方式快速创建基于猫框类库的表格控件

    您也许需要创建的是带行列属性设置的表格控件,正如下图红框所示: 一、拖放方式自动创建表格控件 CursorAdapter的优点之一是与远程视图一样,您可以将CursorAdapter添加到表单或报表的数据环境中...1、在VFP编程环境,点击菜单【显示】下的【数据环境】项,打开表单的数据环境,关闭【添加表或视图】对话框 2、右键点击【数据环境设计器】空白处,在快捷菜单中选择【添加CursorAdapter】 3...(加菲猫注:其实这里面可以选择已存在的句柄更简单 ) 在命令窗口输入 oDBSQLHelper=newobject("MSSQLHelper","MSSQLHelper.prg") 然后在使用已存在的连接句柄填入...5、至此,您就可以拖放数据环境设计器中的CursorAdapter对象到表单,自动创建带行列属性设置的表格控件,或者拖放CursorAdapter的字段对象创建对应字段的标签和文本框。...USE r:\123\qiyurepairmanage\forms\frm权限设置_.scx 打开表后,执行查找表操作,查询条件“grd权限表”来自于创建CursorAdapter对象时的设置,见前述。

    1K20

    OneCode低代码引擎无代码实战

    在搭建过程中穿插讲解一些功能设计思想以及使用方法。...其中,视图:包括一张查询的列表页面,和表单的编辑页面。...而数据操作方面则自动读取为,领域事件,包括update 更新,find查找、delete删除,和findByWhere条件查找.(4)继续编译构建页面交互视图进入到可是话交互页面可以看到,两个视图的基本页面...(五)领域模型混搭配置完成基础的表单模型设置后,我们便进入到了具体的业务功能设计。(1)打开流程工具绘制一个基础的请假流程。...(2)选择流程属性---动态表单---数据库表选择请假单表(3)选择流程属性--办理权限设置(4)返回从快速开始进入到仿真测试(六)应用聚合输出完成上述5步基本配置后,一个小的业务模块便可以进入到微调和个性化修改的阶段

    78860

    k3cloud开发实例

    动态表单外观和逻辑都是在IDE中设置的,设置的数据保存在动态表单模型元数据中,具体由布局元数据(LayoutInfo)记录表单外观数据,由业务元数据(BusinessInfo)记录表单逻辑数据,这2个类分别由...动态表单插件 继承关系如下: (图 10 – 4 插件继承关系) ---- 动态表单视图 动态表单视图 前面已经介绍,外观是由视图来管理,我们先看看动态表单视图模型。...动态表单视图加载外观模型,并从动态表单模型获取数据模型。 动态表单视图提供2个视图接口,IDynamicFormView和IDynamicFormViewService。...---- 动态表单插件 动态表单模型是通过插件代理实现业务逻辑,对外部的接口主要是插件,这些接口可以提供给二次开发使用。...通常我们在IDE里通过配置实体服务规则实现表单字段的缺省值赋值: 但有时需要根据一些参数动态设置值时,就需要用插件实现。下面举一个例子,新增单据时根据当前组织获取邮件的缺省值,赋值到当前数据包。

    4.2K12

    带你认识 flask 个人主页和头像

    ,因为我只希望它们在设置后才可见。...目前,所有用户的这两个字段都是空的,所以如果现在运行应用,则不会看到这些字段。 1 05 记录用户的最后访问时间 让我们从更容易实现的last_seen字段开始。...这是非常有用的,因为现在我可以在一处地方编写代码,并让它在任何视图函数之前被执行。该代码简单地实现了检查current_user是否已经登录,并在已登录的情况下将last_seen字段设置为当前时间。...1 06 个人资料编辑器 我还需要给用户一个表单,让他们输入一些个人资料。表单将允许用户更改他们的用户名,并且写一些个人介绍,以存储在新的about_me字段中。...为了验证这个字段的长度,我使用了Length,它将确保输入的文本在0到140个字符之间,因为这是我为数据库中的相应字段分配的空间。

    1.8K20

    初识Django之前端后端与数据库的配置

    在进行静态文件访问测试的时候我们需要将浏览器的network设置为disabled cache(禁止浏览器使用缓存)如下图是Google浏览器的设置方法: ?...在我们的html文件中导入框架和jQuery时也要加上接口前缀(如果使用的cdn则不用)。 多个静态资源文件夹的查找顺序是从上往下一个文件一个文件查找。 ! ?...静态页面的动态绑定 当我们修改urls的路径时,html的框架中的接口前缀也需要修改,如果html文件非常多修改起来就很麻烦了,为了解决这个问题我们需要将html的静态文件进行动态绑定。...get请求,无论是get请求还是post请求都会执行视图函数 def XXX(request):#XXX是请求的页面后缀 return render(****) 使用request.method...设置完成后我们的pycharm就是数据库的客户端了,但是这时Django还需要对数据库的进一步配置才能使用这个数据库。

    1.6K21

    Django实战-信息资讯-登录验证

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...本次登录采用 django 自带 form 表单验证。登录需要验证的字段有手机号和密码。...前篇的生鲜电商采用的是直接处理 POST 请求过来的数据,判断字段是否都存在,而没有进行字段的再一次验证,比如对手机号码的长度要求和输入的是否为正确的手机号。...① 对表单验证错误消息提示 在编写 form 表单验证之前,可以先定义一个验证错误消息提示的 mixin 类。这样就给需要验证的字段提供了前端页面的错误提示。...服务器在收到用户通过浏览器发来的请求后,会根据 urls.py 里的关系条目,去视图 View 里查找到与请求对应的处理方法,从而返回给客户端 http 页面数据。

    68020

    DataBinding学习

    theme: condensed-night-purple 可观察性是指一个对象将其数据变化告知其他对象的能力。通过数据绑定库,您可以让对象、字段或集合变为可观察,在其数据发生更改时通知其他对象。...当其中一个可观察数据对象绑定到界面并且该数据对象的属性发生更改时,界面会自动更新。 该插件可用于访问布局变量和视图的绑定类,绑定类的名称和包可以自定义。...= DataBindingUtil.bind(viewRoot) 如何查找布局 以往传统布局通过findViewById传入R.id.具体名称查找,但是现在布局文件中的id字段被扩展为了布局绑定类中的变量...xml中使用,很常见的一种情况通过数据的某个字段来判断是否显示,这个时候需要引用View的Gone和Visible。...属性就是通过数据直接绑定视图的,目前我们也有在用,很方便觉得好的地方在于不用去findViewById手动拿View进行属性设置了。

    33420

    Flask-login用法

    之所以选择 Flask-Login,是因为它基于Session,适合做有 UI 交互的用户登录,用我们学习了的 Flask 表单做演示,更容易理清用户登录的流程 用户登录说明 Flask-Login 和其他...endpoint 表单交互时,所以要设置secret_key,以防跨域攻击( CSRF ) 登录管理对象 login_manager 的 login_view 属性,指定登录页面的视图函数 (登录页面的... endpoint),即验证失败时要跳转的页面,这里设置为登录页 用户模块 用户数据 要做用户验证,需要维护用户记录,为了方便演示,使用一个全局列表 USERS 来记录用户信息,并且初始化了两个用户信息... login: 定义用户名和密码两个字段,分别是字符类型字段和密码类型字段,密码类型字段会在页面上显示为密码形式,以提高安全性 为两个字段设置必填规则 from flask import render_template...,接受表单字段将其渲染成 Html 代码,并格式化错误信息 emsg 错误信息单独做了处理,如果存在会显示出来 form 中并没有 action 属性,默认为当前路径 需要验证的页面 为了方便演示,将首页作为需要验证的页面

    1.7K30

    Django内置的通用类视图及实例

    方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图被调用时...None):返回该视图要显示的单个对象.如果提供了queryset,该queryset将作为对象的查询源,否则,将使用get_queryset().get_object()从视图的所有参数中查找pk_url_kwarg...参数,如果找到了这个参数,该方法使用这个参数的值执行一个基于逐渐的查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类).

    2.9K40

    37.Django1.11.6文档

    你以不应该在检索模型时延迟的字段调用它。 如果你有一个模型几乎所有的字段需要延迟,使用only()指定补充的字段集可以导致更简单的代码。...若要指定动态的初始数据,参见Form.initial 参数。 这个参数的使用场景是当你想要显示一个“空”的表单,其某个字段初始化为一个特定的值。...(2)选择要使用的字段 强烈建议你使用fields 属性显式设置所有将要在表单中编辑的字段。 ...return kwargs 在视图和模板中使用表单集 在视图中使用表单集就像使用标准的Form 类一样简单, 唯一要做的就是确信你在模板中处理表单。 ...在视图中使用多个表单集 可以在视图中使用多个表单集, 表单集从表单中借鉴了很多方法 你可以使用 prefix 给每个表单字段添加前缀,以允许多个字段传递给视图,而不发生命名冲突 让我们看看可以怎么做 from

    24.4K80

    工作流的应用价值

    自定义您的工作流程 从 32 种不同的字段类型中进行选择,以便通过表单收集数据。自动填充字段,执行验证并使用逻辑构建安全表单。...查阅记录审计,以了解谁编辑过您的数据并跟踪对您的应用所做的更改。 为您的客户维护专用门户,并允许他们登录和访问其信息。 知晓团队动态 发布工作流,并测试它们是否按您希望的方式工作。...让您的工作流程更快更流畅 帮助企业快速完成数字化转型 当开展业务时,同时进行多项事务在所难免,客户、项目进度以及正在进行的任务,都会占据您大量的精力,导致您忽略事务的优先级。...自定义APP页面和需要重复操作的流程。 将数据存储的事情先放下,想想如何实现应用自动化 可识别31种信息,例如条形码、位置坐标和文件。 通过查找、预填充和即时验证数据,减少错误。 ...轻松数据共享,高效协同工作 添加用户并允许其访问、编辑和修改相关的应用组件。 设置不同权限,让用户对数据有不同的查看和操作权限。 在您的APP上为客户和供应商创建自助门户。

    2K30

    MySQL4_联合-子查询-视图-事务-索引

    2.两边可以具有不同数据类型的字段 3.字段名默认按照左边的表来设置 #查找深圳的男生和北京的女生 select * from stuinfo where sex=1 and city='深圳' union...max(python) from score) ); in | not in 在什么时候使用in,在任何情况下都可以使用in #查询python成绩不及格的学生 select * from stuinfo...另起mysql终端进入事务(start transaction)获取当前设置隔离级别的数据 隔离级别: 1. read uncommitted 当其它终端未提交修改时就同步 其他终端修改的值...修改自动提交的状态 set autocommit= 0; 关闭 set autocommit= 1; 开启 #事务只有在开启的状态下才能使用 #事务只能在innodb的引擎下才能使用,myisam...的表引擎下使用 3.唯一键(unique) 4.全文索引(fulltext key) #在模糊查询的使用,myisam下可以使用 5.普通索引(index) #联合索引 index key('sid

    1K30

    Spring认证指南:了解如何使用 Spring 创建和提交 Web 表单

    以下代码中的对象 (from Greeting)包含与视图中的表单字段相对应的字段,例如和,用于从表单中捕获信息: Greetingsrc/main/java/com/example/handlingformsubmission...用和表示的两个表单字段对应于对象中的字段。th:field="{id}"th:field="{content}"Greeting 这涵盖了用于呈现表单的控制器、模型和视图。...Greeting是 a ,因此@ModelAttribute它绑定到传入的表单内容。result另外,提交的数据可以通过名称引用(默认为方法参数的名称,greeting在本例中为)来呈现在视图中。...但是,您可以将单个视图用于这两个目的。 使应用程序可执行 尽管您可以将此服务打包为传统的 WAR 文件以部署到外部应用程序服务器,但更简单的方法是创建一个独立的应用程序。...@ComponentScan: 告诉 Spring 在包中查找其他组件、配置和服务com/example,让它找到控制器。

    1.8K20

    后端框架学习-Django

    在该模式下依然存在控制层C,即主路由 Django模板层 模板层创建 模板:根据字典数据动态变化的html网页,根据视图中传递的字典数据动态生成相应的html页面 模板配置: 创建模板文件夹 ...重写,则按照重写效果显示 注意: 模板继承时,服务器的动态内容无法继承 url反向解析 代码中url的位置: 1.模板 超链接 form表单 form action 将表单中的数据用...之前的内容加上该相对地址作为最终访问地址 url反向解析 指在视图或模板中,用path定义的别名来动态查找或计算出相应的路由。...verbose_name:设置此字段在admin界面上的显示名称,可以中文化admin界面 好习惯:字段选项【添加或更改】均要执行 模型类-Meta内部类 使用Meta类来给**模型(其实就是表的属性)...1.单个数据删除 查找对应的数据对象 调用该数据对象的delete()方法实现删除 2.批量数据删除 查找QuerySet 调用delete()方法实现删除 3.伪删除操作 通过在表里添加一个布尔型字段

    9.6K40

    SSM的简介

    Springmvc的控制器是不是单例模式,如果是,有什么问题,怎么解决? 是单例模式,所以在多线程访问的时候又线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。...与某些web MVC框架强制开发人员使用单一特定技术相比,Spring显得更加灵活。 灵活的model转换:在Springweb框架中,使用基于Map的键/值对来达到轻易的与各种视图技术集成。...JSP表单标签库:在Spring2.0中引入的表单标签库,使用在JSP编写表单更加容易。 Spring Bean的生命周期可以被限制在当前的HTTp Request或者HTTp Session。...b、提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建 c、提供xml标签,支持编写动态sql。  ...三、SpringMVC的优点   A、springMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,是的我们开发更简洁。   B、与Spring无缝衔接。

    84830
    领券