Vue+ElementUI怎么处理超大表单
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,Vue+ElementUI怎么处理超大表单,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最近公司由于业务的调整,之前的超
千家信息网最后更新 2024年11月11日Vue+ElementUI怎么处理超大表单解答为什么两个组件
Vue+ElementUI怎么处理超大表单,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
最近公司由于业务的调整,之前的超长表单的逻辑改动较多,所以我就打算重构了(之前是一个已离职的后台写的,也没有注释,一个组件写了4000+行,实在有心无力)。为了各位方便阅读,我这里把项目里拆分了14个组件
进行了精简。
整体思路
大表单根据业务模块进行拆分
保存时使用
el-form
提供的validate
方法进行校验(循环对每一个拆分的组件进行校验)mixin 对每个组件的公共提取(也利于后期项目的维护)
开始
这里以
拆分2个组件
为例:form1
,form2
(方便读者观看,命名勿喷)这里两个组件为什么
ref、model
绑定的都是form
后边会进行说明(为了方便后期维护)
// form1 组件// form2 组件
看一下父组件怎么引用的
// 父组件报错
由于
formData
里的属性名form1
和form2
分别用在子表单组件的ref
上,因此可以在遍历时依次找到他们,修改保存函数,代码如下:
methods: { save () { // 每个表单对象的 key 值,也就是每个表单的 ref 值 const formKeys = Object.keys(this.formData) // 执行每个表单的校验方法 const valids = formKeys.map(item => this.$refs[item].validForm()) // 所有表单通过检验之后的逻辑 if (valids.every(item => item)) { console.log(11) } }}
解答为什么两个组件ref、model
绑定的都是form
通过对比我们可以发现
form1 form2
有共同的props methods
我们通过 mixin 提取一下
export default { props: { form: { required: true, type: Object, default: () => {} }, }, methods: { validForm () { let result = false this.$refs.form.validate(valid => valid && (result = true)) return result } }}
在
form1 form2
中引用该minix
,并在对应组件中删除相应的属性和方法即可超大表单解决起来很麻烦,这里只是对组件的拆分
组件之间的联动也是一大难点,等下次整理完再发出来
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
组件
表单
循环
方法
业务
两个
对象
属性
逻辑
项目
帮助
输入
处理
清楚
有心无力
之间
也就是
代码
函数
只是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
亿捷科技软件开发
中国南京网络技术学院
如何通过数据库建立本体
博兴物流竞价软件开发价格
cf服务器为啥不优化
宿迁互联网软件开发资费
网络技术服务合同纠纷 判决书
网络安全技术最基础知识
网络安全和保密工作不能忽视
网络安全审查办法是法规吗
lol韩服ob服务器崩溃
朝阳区大型软件开发价位
时代网络安全教育
网站服务器中病毒了
服务器怎样检测自瞄
海康服务器设置方法
秦皇岛媒体服务器价格
摄影与软件开发哪个更有前途
正当防卫3服务器无法访问
网络安全四宫格漫画
如何在家访问公司的服务器
原力星聚软件开发
国际网络安全大赛比赛回放
软件开发需要汇编吗
河北崇雨网络技术有限公司好吗
在线数据库怎么用
党建知识云数据库
数据库表增加注释
小米采用的数据库管理系统
计算机网络技术网络资源共享