el-select的错误提示不生效、el-select验证失灵、el-select的blur规则失灵

  • 发现问题
    在使用el-select进行表单验证的时候,发现点击下拉列表没选的情况下,他不会提示没有选择选项的信息,我设置了rule如下
<!--el-select--><el-form-item  label="等级" prop="level"><el-select v-model="editForm.level"  placeholder="请选择级别" auto-complete="off"><el-option label="1级" value="1"></el-option><el-option label="2级" value="2"></el-option></el-select></el-form-item>js:rule{level: [{required: true, message: '请选择等级', trigger: 'blur'}]}

我的prop和v-model的属性名也是对应的,就是很奇怪,如果鼠标从下拉列表里面移动出来,他不会提示信息,只有在最后面提交表单的时候才会提示。没有达到我的需求。

  • 网上查找方案
    在网上看了很多解决方案,发现很多都没有效果
  1. 将v-model和prop的绑定的属性名改成相同的,我已经做到了,没有用
  2. 将blur改成change,这种方案我刚开始试了,没有效果,后面发现,如果将
return {editForm: {level: null,},

改为

return {editForm: {level: [],},

即将初始值改成一个空列表,就能够实现提示的信息,但是这种方法存在缺陷,就是在初始化的时候,直接就给你提示了,而不是你从el-select里面出来且没选的情况提示。

  • 最终解决方法
  1. 这个rule还是要写,trigger写的是change。
  rule{level: [{required: true, message: '请选择等级', trigger: 'change'}]}
  1. 在el-select添加方法@blur.capture.native="onBlur('editForm','level')",如下,
    注意要把el-form设置ref="editForm",将ref和model绑定的值作为参数传入,
<el-select v-model="editForm.level"  placeholder="请选择级别" auto-complete="off"
@blur.capture.native="onBlur('editForm','level')">
  1. 在js中添加方法onBlur
  methods: {onBlur(ref,type){this.$refs[ref].validateField(type)},
}

这样就能解决blur事件不生效的问题了,结果如图,如果没有选择,点到其他地方就会提示
在这里插入图片描述

  • 原理:blur.capture.native 会在子组件上直接绑定原生的 blur 事件,并且在事件触发时会从内层向外层逐级捕获,直到根组件。这样无论点击 el-select 内部的哪个元素导致 blur 事件,都会被捕获到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/578881.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从供方协议管理到外部供方管理

从GJB 5000A的供方协议管理到GJB 5000B的外部供方管理&#xff0c;军用软件的研制对承接单位有了更高的标准和要求&#xff0c;也对外部供方管理有了更改的要求&#xff0c;让我们看看具体的变化吧&#xff01; 供方协议管理的目的&#xff1a; 管理供方产品的获取工作。 外部…

linux下minio部署和nginx配置

1 下载minio wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod x minio #启动minio&#xff0c;文件数据存放在/data目录 ./minio server /data2 部署minio 下载minio后赋予可执行权限就可以运行了&#xff0c;这里我整理了遇到的坑和解决问题的最终配置…

快速上手Spring Cloud 九:服务间通信与消息队列

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …

AIS板评测 dAI01-OEM

目录 一、设备概述 二、技术性能评测 三、总结 一、设备概述 dAI01-OEM是一款AIS接收机板卡&#xff0c;旨在与OpenCPN、Ship Plotter等能够接收串口数据输入的软件实现无缝配合。它不仅能够高效接收并处理AIS信号&#xff0c;还能够将本船的信息实时上传到MarineTraffic和…

MySql实战--MySQL为什么有时候会选错索引

前面我们介绍过索引&#xff0c;你已经知道了在MySQL中一张表其实是可以支持多个索引的。但是&#xff0c;你写SQL语句的时候&#xff0c;并没有主动指定使用哪个索引。也就是说&#xff0c;使用哪个索引是由MySQL来确定的。 不知道你有没有碰到过这种情况&#xff0c;一条本来…

用Python实现办公自动化(自动化处理Excel工作簿)

自动化处理Excel工作簿 &#xff08;一&#xff09;批量生产产品出货清单 以“出货统计表”为例&#xff0c; 需求&#xff1a;将出货记录按照出货日期分类整理成多张出货清单 “出货统计表数据案例” “产品出货清单模板” 1.提取出货统计表的数据 “Python程序代码” # 使用…

Topaz Gigapixel AI for Mac 图像放大软件

Topaz Gigapixel AI for Mac是一款专为Mac用户设计的智能图像放大软件。它采用了人工智能技术&#xff0c;特别是深度学习算法&#xff0c;以提高图像的分辨率和质量&#xff0c;使得图像在放大后仍能保持清晰的细节。这款软件的特点在于其能够将低分辨率的图片放大至高分辨率&…

基于微信小程序的校园服务平台设计与实现(程序+论文)

本文以校园服务平台为研究对象&#xff0c;首先分析了当前校园服务平台的研究现状&#xff0c;阐述了本系统设计的意义和背景&#xff0c;运用微信小程序开发工具和云开发技术&#xff0c;研究和设计了一个校园服务平台&#xff0c;以满足学生在校园生活中的多样化需求。通过引…

“51媒体”线下活动,媒体线上同步直播的好处,有哪些资源?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 线下活动媒体线上同步直播的好处以及可利用的资源如下&#xff1a; 好处&#xff1a; 扩大影响力&#xff1a;通过媒体线上同步直播&#xff0c;活动可以覆盖更广泛的受众群体&#xff…

AOP能干什么?

AOP能干什么&#xff1f; AOP能干什么&#xff1f;预备知识Before AdviceAfter AdviceAround Advice AOP能干啥呢处理参数值处理输出结果 总结 AOP能干什么&#xff1f; 我们在之前的博客中已经提出了一个例子&#xff0c;可以通过AOP来实现权限的一个认证&#xff0c;详情可以…

string的创建

string为引用类型&#xff0c;但是他的创建是特殊的&#xff0c; 他直接赋值的话&#xff0c;是现在内存中去寻找有没有一样的&#xff0c;当有的情况下则是讲地址赋值过去&#xff0c;当没有一样的则会重新去内存中创建一个 代码如下&#xff1a; static void Main(string[] a…

图片标注编辑平台搭建系列教程(4)——fabric几何定制渲染

背景 标注的几何&#xff0c;有时需要一些定制化的渲染样式&#xff0c;例如&#xff0c;线中间展示箭头&#xff0c;表示方向。本期教程教大家如何实现fabric几何定制化渲染。 带箭头的线 fabric提供了一些原生的几何&#xff0c;例如Point、Polyline、Polygon。同时提供了…