vue el-form表单嵌套组件时正则校验不生效

vue el-form表单嵌套组件时正则校验不生效

  1. 上图
  2. 组件选中数据,但是正则校验未检测到并且红字提示不会消失。
  3. 直接上代码
javascript 复制代码
<template>
  <div class="created_report">
	  <el-form :model="formData" :rules="isRules" ref="formData" label-width="120px">
	   <el-form-item label="接收人:" prop="executive">
	       // 该组件是引用的选人组件
		  <indexBtnComponent v-model="formData.executive" @userChangeHandler="userChangeHandler" />
		   // 重点代码 加入 input 标签 
		   // 第一步
		  <el-input class="input_text input-display-none" ref="input"></el-input>
		</el-form-item>
	  </el-form>
  </div>
</template>
<script>
export default {
   data(){
       // 自定义校验规则
       // 第三步
	    var validateUser = (rule, value, callback) => {
	      if (this.formData.executive) {
	        callback();
	      } else {
	        callback(new Error('请选择接收人'));
	      }
	    };
     return {
        formData: {
             executive: '', //接收人
         },
         isRules: {
             // 第二步
             executive: [{ required: true, validator: validateUser, trigger: ['blur', 'change'] }],
         },
       }
	  },
	  methods:{
	      // 在change事件中 给 this.formData.executive  赋值
	      // 可以是change事件 也可以是值改变后会调用的方法 都行
	      // 第四步
	     userChangeHandler(val){
	       this.formData.executive = val
	        // 调用 input 的 获取焦点 和 失去焦点 事件
	        // 重点
	       this.$refs.input.focus();
      	   this.$refs.input.blur();
	    },
       }
	}
</script>
<style lang="scss" scoped>
  // 此处隐藏input标签
  // 第五步
  .input-display-none{
	  opacity: 0; 
	  width: 0; 
	  height: 0;
	  position: absolute;
	}
</style>
  1. 搞定!

相关推荐
念九_ysl14 分钟前
前端循环全解析:JS/ES/TS 循环写法与实战示例
前端·javascript·typescript
anyup_前端梦工厂2 小时前
了解几个 HTML 标签属性,实现优化页面加载性能
前端·html
前端御书房3 小时前
前端PDF转图片技术调研实战指南:从踩坑到高可用方案的深度解析
前端·javascript
2301_789169543 小时前
angular中使用animation.css实现翻转展示卡片正反两面效果
前端·css·angular.js
风口上的猪20154 小时前
thingboard告警信息格式美化
java·服务器·前端
程序员黄同学4 小时前
请谈谈 Vue 中的响应式原理,如何实现?
前端·javascript·vue.js
爱编程的小庄5 小时前
web网络安全:SQL 注入攻击
前端·sql·web安全
宁波阿成5 小时前
vue3里组件的v-model:value与v-model的区别
前端·javascript·vue.js
柯腾啊5 小时前
VSCode 中使用 Snippets 设置常用代码块
开发语言·前端·javascript·ide·vscode·编辑器·代码片段
Jay丶萧邦5 小时前
el-select:有关多选,options选项值不包含绑定值的回显问题
javascript·vue.js·elementui