el-form表单校验的trigger类型,非element组件无法触发

782 阅读1分钟

el-form表单校验不生效,是因为若el-form-item内的组件不是element组件是不会触发该定义的事件de。

例如:

(1)trigger类型为blur的功能是文本框失去焦点才会触发 (2)trigger类型为change的功能是当文本框在输入内容时触发

1、场景1:若el-form-item组件不循环,组件内为自定义内容

为该el-form-item添加ref(xxx),并可采用watch监听的方式,当输入值(yyy)变化时,通过this.$refs.xxx.yyy.$emit('el.form.change')进行触发表单校验

2、场景2:若el-form-item组件是循环组件,组件内为自定义内容

为每一项el-form-item添加ref(:ref="ref-${ind}"),当点击某触发某函数时,通过this.$refs[`ref-${ind}`][0].$emit('el.form.change')进行触发表单校验