el-form 表单刷新后验证丢失

在后台中有个表单是根据一个类型动态获取的,切换类型后根据数据动态渲染的 el-form-item。

不切换类型一切正常,设置的验证项都会验证,没填的时候会直接拦截。

一切换类型,发现el-form-item 的红*还在,但是表单没有走验证,直接通过了!!!

在组件的mounted中添加了addField,removeField回调函数,打印了一下Form 源码中的fields 字段(组件内部收集的需要验证的字段),发现经过切换后 fields 空了,el-form-item 销毁的时候把字段清除了,但是 el-form-item 重新渲染的时候没有把字段加进去。

一时不知道如何去修改,回顾了一下 生成el-form-item 的代码

<el-form-item v-for="(item,i) in sendRuleInfo" :key='i' ....

这个key是根据数组的index来的,刷新一下index就变了,如果把key 换成item的 id字段会怎么样?

这样这个key就不会变了。

经过这样修改后,发现就是经过切换类型,form-item  重新生成,fields 也不会清空了,迷茫了两天的问题就这样莫名其妙的解决了          

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值