elementUI中,如果表单项插入的是我们自定义的组件,如果想要那个表单项也参与校验的话,在不动子组件的情况下。我们需要子组件的change事件,反正就是能获取当前子组件的值,
获取到子组件的后,el-form-item记得绑定prop,主要就是运用这个prop来实现表单的校验
<el-form-item v-if="state && hasBranchesCompanys" label="表单项" :inline="true" :prop="form.isShare===1?'companyIds':'meiyou'">
<!-- 我的prop是动态的,这里如果没有需求的话,可以写死,注意如果是动态的prop,:左右两边都要给,不能只写 ""-->
<compent @change="handleChildCorpChange" />
<!-- 子组件,我的子组件是一个自定义的下拉框,所以给prop绑定的是change事件-->
</el-form-item>
prop校验绑定
companyIds: [{ message: '请选择', trigger: 'change', required: true }]
步骤2:定义change事件 (核心)
handleChildCorpChange(childCorpIds) {
this.form.companyIds = childCorpIds // 这个表单子组件绑定的值,一定要赋值
this.$refs.form.validateField('companyIds') // 触发单个校验
},