element-ui 的FormItem组件是如何进行绑定值校验的【源码解读】

1.前言

使用element-ui框架有两年了,涉及到el-form组件的校验,只是根据官网给的示例使用。el-form绑定model,el-form-item绑定prop属性,el-form-item内的表单绑定v-model。只要v-model绑定的属性与prop属性一致再加上各种校验规则,即可实现某个表单的校验。

所以个人就下意识的以为一定要用v-model绑定某个值才能实现校验,在封装自定义组件时,就会下意识的用组件实现v-model绑定值的功能。但是有次在使用同事封装的组件时,他并不是使用的v-model绑定的,而是用:xxx.sync实现的某个属性值父子组件同步修改。但是也是能实现el-form表单的校验。这让我大为震撼。同事虽然解释半天,但是我还是没理解。因此决定自己看源码是什么原因。

虽然源码没有完全看懂,但是为什么不是用v-model绑定的属性也能触发校验的原理可以说基本弄懂了。

2.blur与change事件的绑定

先看el-form组件的构成:
在这里插入图片描述
el-form组件存在于node_modules/element-ui/packages/form路径下,index.js是vue的注册文件,form.vueform-item.vuelabel-wrap.vue分别是el-form组件、

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值