【超好用的前端表单辅助功能】

前端表单辅助功能

    • ==1. 根据模块自动生成目录+锚点定位==
    • ==2. 描点定位+动态组件==
    • ==3. 隔离组件,组件内部实现校验逻辑,交给提交按钮统一处理==
    • ==4. 选择不同的类型需要重组不同的模块展示,并整合数据传给后端==

最近做了一个复杂的表单,涉及到的技术点如下

  • 根据模块自动生成目录+锚点定位
  • 表单需要严格的校验规则+异常错误提示+定位回滚
  • 选择不同的类型需要重组不同的模块展示,并整合数据传给后端

实现过程:

1. 根据模块自动生成目录+锚点定位

页面:
在这里插入图片描述

  • 根据主体类型不同,集合不同的模块,自动生成目录
  • 点击目录不同模块,锚点定位

自动生成目录组件代码链接:https://github.com/oilpastell/createTOC

2. 描点定位+动态组件

在这里插入图片描述

  • 使用动态组件,结合业务场景,杜绝频繁使用v-if,及其便捷的控制了相关组件的显示和隐藏

3. 隔离组件,组件内部实现校验逻辑,交给提交按钮统一处理

在这里插入图片描述

  • 隔离每个模块的组件,将常用的集中处理数据的方式变为交由组件内部处理逻辑,最外层只负责下发接口,这种方式降低了业务之前的耦合性,也便于后期迭代。
  • 子组件用promise封装校验方法,进行参数组装和异常抛出,父组件集中处理结果。
  • 通过scrollIntoView方法,根据类名定位,进行异常抛出滚动。

4. 选择不同的类型需要重组不同的模块展示,并整合数据传给后端

在这里插入图片描述

  • 不再是零落散乱的随处定义数据,和后端沟通好数据结构,后端将数据打包传给前端,前端也可以将数据打包传给后端,数据传输方式清晰明了,避免了数据之间的耦合和互相影响,也便于后期迭代。

附件:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/674732.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

30分钟打造属于自己的Flutter内存泄漏检测工具---FlutterLeakCanary

30分钟打造属于自己的Flutter内存泄漏检测工具 思路检测Dart 也有弱引用-----WeakReference如何执行Full GC?如何知道一个引用他的文件路径以及类名? 代码实践第一步,实现Full GC第二步,如何根据对象引用,获取出他的类…

通信录的动态版本

一. 增加需求 在学习了动态开辟内存之后 我们对于通讯录产生了新的需求 要求我们做出一个动态增长的版本 即 随着我们储存联系人的增加 储存的空间增加 要求 : 1 初始空间为3 2 每次达到上限之后 扩容两个内存 二. 动手实施 我们首先要创建一个结构体 结构体…

基于FPGA的多路彩灯控制器VHDL代码Quartus仿真

名称:基于FPGA的多路彩灯控制器VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: 多路彩灯控制器 综合训练内容要求 设计一台基于FPGA的多路彩灯控制器的设计。要求如下 1.彩灯从左…

简易录制视频做3D高斯

系统环境 ubuntu20 ,cuda11.8,anaconda配置好了3D高斯的环境。 具体参考3D高斯环境配置:https://blog.csdn.net/Son_of_the_Bronx/article/details/138527329?spm1001.2014.3001.5501 colmap安装:https://blog.csdn.net/Son_of…

[CISCN2019 华北赛区 Day1 Web2]ikun

看到提示说一定要找到lv6 这要写脚本来爆破了,用bp是爆破不出来的 发现LV等级都是有参数挂着的 写个脚本看一下 import requests for i in range(1,1000):payload"http://node4.anna.nssctf.cn:28150/shop?page%d"%(i)resrequests.get(payload)if "…

SVM直观理解

https://tangshusen.me/2018/10/27/SVM/ https://www.bilibili.com/video/BV16T4y1y7qj/?spm_id_from333.337.search-card.all.click&vd_source8272bd48fee17396a4a1746c256ab0ae SVM是什么? 先来看看维基百科上对SVM的定义: 支持向量机(英语:su…

SparkSQL与Hive整合 、SparkSQL函数操作

SparkSQL与Hive整合 SparkSQL和Hive的整合,是一种比较常见的关联处理方式,SparkSQL加载Hive中的数据进行业务处理,同时将计算结果落地回Hive中。 整合需要注意的地方 1)需要引入hive的hive-site.xml,添加classpath目录下面即可…

15.计算机网络

1.物理层的互联设备 中继器 和 集线器 2.集线器可以看做特殊的多路中继器 集线器 不可以做到自动寻址的功能 3.数据链路层 网桥 和 交换机 4.交换机是多端口网桥 5.网络层 路由器 6.应用层 网关 7.广播域 网络层 可以形成多个广播域 冲突域 网络层数据链路层 可以形成多个冲突域…

【数据结构】C/C++ 带头双向循环链表保姆级教程(图例详解!!)

目录 一、前言 二、链表的分类 🥝单链表 🥝双链表 🥝循环链表 🥝带头双向循环链表 🍍头节点(哨兵位)的作用 ✨定义: ✨作用: 🍇总结 三、带头双向循环链表 …

Mybatis进阶4-权限管理

权限管理 1.权限 //相当于 职责 2.用户 //相当于 职员(职员就职于一个职位) 3.角色 //相当于 职位(有多个职责) 权限管理基础表:权限表,用户表,角色表 问题1:…

RK3576芯片规格,以及与RK3588对比

瑞芯微RK3576是一款高性能、低功耗的SoC(系统级芯片)处理器,适用于基于ARM的PC、边缘计算设备、个人移动互联网设备等多种应用场景。它采用Arm架构的八核心CPU,集成了GPU、MCU、NPU、VPU等多种计算核心,并具有丰富的外…

KAN: Kolmogorov–Arnold Networks

KAN: Kolmogorov–Arnold Networks 论文链接:https://arxiv.org/abs/2404.19756 代码链接:https://github.com/KindXiaoming/pyKAN 项目链接:https://kindxiaoming.github.io/pyKAN/intro.html Abstract 受Kolmogorov-Arnold表示定理的启…