环境:
element ui:V2.13.1
vue:2.X
问题:
- 表单项必填校验,内容为空时没问题,填写内容后不实时移除必填提示信息
- 新增的动态表单项,不能实时校验,执行form.validate会进行校验
分析:
-
form
标签上面增加rules
来进行校验,el-form-item
标签上面需要加prop
属性,由于键中存在横杠所以在el-form-item
中的表单项进行双向绑定值时是v-model="formData.goods['hj-bm']"
,因此el-form-item
标签上面prop="goods['hj-bm']"
,这样出现了空内容时校验了必填,有内容时没移除必填校验。处理的办法是:把
el-form-item
标签上面修改成prop="goods[hj-bm]"
,在v-model
中因为存在横杠而要增加引号,可是el-form-item
标签上prop
属性却不需要 -
表单中存在货物数组需要用户自己添加货物数量,填写每个货物信息。所以表单中存在
v-for
的循环生成的动态表单,表单项的外层使用了其他布局组件,因此key
添加在这个布局组件上,这样导致动态添加的货物信息表单在填写时不实时校验,使用表单的validate
方法会校验。处理的办法是:在
el-form-item
标签上面增加key
番外:
问题:表单中多个单选表单,使用tab
键可以切换选择时没监听到变化
分析:由于没仔细看文档,绑定的事件是change
,不使用键盘时会触发change
,文档中给的事件是input
,替换之后就不会出现问题