关于使用后端实现动态表单功能的心得

这篇具有很好参考价值的文章主要介绍了关于使用后端实现动态表单功能的心得。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、设计方案

1、直接存整体表单结构的json串

优点:相对Mysql细化结构存储,不用在后端处理大量增、删、改的逻辑。如果用mysql对结构体做逻辑删除,可利于回滚。也可用redis、mongodb等实现

缺点:控制粒度不够,不利于需要关联复杂查询的情况,事务控制只能真对整个结构体。需要前端可靠支撑,如前端生成ID或者直接将名称作为表单、字段、选项的唯一识别。

2、使用Myql存表单细化的结构,基本如下

表单表:存储不同表单,如不同页面可能有不同表单。

字段表:存储表单字段信息,比如字段类型、选项类型、输入框类型、筛选类型(展开类型)、字段排序、是否必填、所属表单ID等。

选项表:存储字段为选项类型的选项,如选项名、所属字段ID、所属表单ID等。

表单数据表:使用了哪个表单,并存储表单数据,需存表单ID。

字段数据表:使用表单的哪些字段,并存储字段数据。如输入框类型的输入值、选项标签、表单ID、选项ID。

选项数据表:勾选了哪些选项,需存表单ID、字段ID、选项ID。

优点:可支持复杂查询,以及数据统计等。

缺点:需要在后端处理大量增、删、改,以及校验逻辑。

需要十分注意数据表是存实时数据还是历史数据,实现方案将有很多差别文章来源地址https://www.toymoban.com/news/detail-858509.html

到了这里,关于关于使用后端实现动态表单功能的心得的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序使用uni-app开发小程序及部分功能实现详解心得

    目录 一、uni-app 1、简介 2、开发工具 3、新建 uni-app项目 4、把项目运行到微信开发者工具 二、实现tabBar效果 1、创建tabBar页面 2、配置tabBar 1、创建分包目录 2、在 pages.json 文件中配置 3、创建分包页面 四、公用方法封装 五、搜索功能 1、搜索组件 2、搜索建议实现 3、本地存储

    2024年02月11日
    浏览(65)
  • Java后端向前端返回文件流——实现下载功能!

    前端实现文件下载功能有多种方法,这里就不一一介绍,这里只介绍使用文件流下载的实现方法。 既然是文件流那就肯定需要给前端返回一堆二进制编码,作为后端就可以返回一个 OutPutStream 后端可以使用Java中servlet提供的 HttpServletResponse ,核心步骤是要设置响应的数据类型

    2024年02月08日
    浏览(47)
  • Java后端向前端返回文件流——实现下载功能

    前端实现文件下载功能有多种方法,这里就不一一介绍,这里只介绍使用文件流下载的实现方法。 既然是文件流那就肯定需要给前端返回一堆二进制编码,作为后端就可以返回一个 OutPutStream 后端可以使用Java中servlet提供的 HttpServletResponse ,核心步骤是要设置响应的数据类型

    2024年02月11日
    浏览(49)
  • 在react antd中动态生成多个 form表单组,包括一个动态添加/删除表单项的功能和一个提交表单的功能

    在这个示例中,我们首先使用 Form.useForm() 创建一个表单实例。接着,我们使用 Form.List 组件来动态生成多个表单项。在 Form.List 组件中,我们使用 fields.map 方法循环渲染每个表单项,并使用 Form.Item 组件包裹每个表单项。在 Form.Item 组件中,我们使用 label 属性指定标签,使用

    2024年02月15日
    浏览(58)
  • 关于php原生开发与主流php框架使用心得

    PHP是世界上最好的web开发语言,这个无可辩驳,当然去掉web两个字,这毫无意义,网上很多喷子鼓吹的java,.net,python都差的远。 php有如下优点: 简单易学。正是因为如此,才造就了php开发者人群的庞大和良莠不齐,但是我们不能因为阳光和空气获取起来毫不费力就说它不重

    2024年02月02日
    浏览(47)
  • 使用element的form表单,实现显示后端错误信息,并且如果有错误信息(前端通过rules检测的错误信息或者后端传过来的错误信息(如该用户已经注册或该邮箱已经存))点击提交按钮不会再次发起异步请求

    前提(触发方式可以有两种触发 trigger: \\\'blur\\\'   或 trigger: \\\'change\\\' ) 主要是三个要点: 1.给el-form-item标签设置error属性,并且绑定data里面的数据(也即:error=\\\"emailError\\\"): 2.设置rules规则为 改变trigger触发方式,设置为trigger: \\\'change\\\' (如果是trigger: \\\'blur\\\',表单项(el-form-item)的input输入

    2024年02月03日
    浏览(48)
  • 关于java后端重定向

    Servlet中,重定向之后的代码是否会继续执行? 重定向是在所有代码执行完毕后跳转,还是执行到重定向代码时立即跳转? 1.重定向之后的代码会继续执行 2.当前程序所有代码执行完毕后,才会执行重定向跳转 3.重定向之后,加上return,可让之后的代码不再执行 boolean flag = true; if (flag

    2024年02月07日
    浏览(30)
  • 【业务功能篇20】Springboot java逻辑实现动态行转列需求

    在此前,我也写过一个行转列的文章,是用存储过程sql处理的一个动态的逻辑 Mysql 存储过程Mybatis框架call调用 实现动态行转列 那么后面我们同样又接收了业务的一个新需求,针对的是不同的业务数据,做的同样的一个展示数据报表,同样还是产品归属信息表头,拼接查询年

    2024年02月09日
    浏览(46)
  • 【Turfjs的java版本JTS】前面讲了Turfjs可以实现几何计算,空间计算的功能,如果后端要做这项功能也有类似的类库,JTS

    JTS = Java Topology Suite 几何计算: 1. 前端js就用这个 Turfjs的类库。参考网站: 计算两线段相交点 | Turf.js中文网 2. 后端java语言就可以用 JTS这个类库,参考网站:  JTS参考网站: 1. https://github.com/locationtech/jts GitHub - locationtech/jts: The JTS Topology Suite is a Java library for creating and m

    2024年02月09日
    浏览(37)
  • 【Unity】【VR开发】Unity云同步功能使用心得

    有时出差,旅行等等也带着电脑,晚上想要继续编辑项目,就需要用到云同步功能。目前实践下来,发现有些内容可以同步,有些内容则是不可以同步的,总结如下。 UnityHub的项目面板中有两个选项卡:项目和云端项目。 鼠标挪动到想要云同步的本地项目上,项目名右上角会

    2024年02月21日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包