解决VUE项目使用Element-ui 下拉组件的验证失效问题


Posted in Javascript onNovember 07, 2020

问题描述:

在使用Element-ui组件做项目开发时候有可能会使用下拉框组件,如果下拉框组件的option选项是使用v-if指令遍历的,

这样也没有问题,但是如果加上multiple属性,也就是可以多选 就会出现下拉框验证时失效问题.

问题现象:

解决VUE项目使用Element-ui 下拉组件的验证失效问题

如图所示,明明已经选择了选项,可是验证还是为空,因此不能提交请求

解决思路:

如果说找遍组件里的方法都无法获得我们适合使用的,那就要动用原生基本功了

console.log一下v-model在此组件上绑定的属性,你发现你绑定的字符串(一般情况下都是String,这里就拿字符串举例说明)打印出来却是Array

所以如果验证必填的话我们就直接判断v-model在此组件上绑定的属性的length是否大于0就好了;其他要求的话可以留言

思路验证:

我有试验过在rules增加type: ‘test',表面上看起来是可以的,但是打开控制台,它已经报错了: Unkown rule type text,如下图:

解决VUE项目使用Element-ui 下拉组件的验证失效问题

竟然没有type=text属性! 好吧~只能继续

既然多选设置之后输出的是数组, 那就跟chexkbox一样 ,我可以把v-model属性改成[],然后rules里面的type: 'array'实验一下,结果不报错,但是验证也不生效

可见Element还是有坑踩哦,我的项目紧急就先原生解决了,哪天找到组件解决办法我会及时更新的,当然如果谁知道解决办法也请分享给我哦~欢迎技术交流

解决代码

if (this.form.STORE_PROVINCE.length === 0 || this.form.STORE_PROVINCE.length == '') {
    this.$message.error('请选择至少一个区域')
    return false
  } else {
   // 要执行的代码
  }

以上便可解决了。

补充知识:element ui表单验证select既获取label又获取value

html部分

<el-form-item label="所属公司" prop="comName">
    <el-select v-model="ruleForm.comName" placeholder="请选择所属公司" @change="selectGet">
   <el-option v-for="item in ruleForm.options2" :key="item.id" :value="item.id" :label="item.comName"></el-option>
    </el-select>
</el-form-item>

js部分

//获取selectlabel值
selectGet(vId){
  let obj = {};
  obj = this.ruleForm.options2.find((item)=>{//this.ruleForm
  return item.id === vId;//筛选出匹配数据
  });
  console.log(obj.comName);//我这边的name就是对应label的
},

在data return里边定义

data(){
  return{
    ruleForm:{
      options:[
        {id:1,comName:'BEIJING'},
        {id:2,comName:'TIANJIN'}
      ]
    }
  
  }
}

以上这篇解决VUE项目使用Element-ui 下拉组件的验证失效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype Selector对象学习
Jul 23 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
May 08 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
JavaScript Split()方法
Dec 18 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
JavaScript如何对图片进行黑白化
Apr 10 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
原生JavaScript创建不可变对象的方法简单示例
May 07 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 Javascript
vue v-model的用法解析
Oct 19 Javascript
详解datagrid使用方法(重要)
Nov 06 #Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 06 #Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
Nov 06 #Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
Nov 06 #Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 #Javascript
Nuxt的路由动画效果案例
Nov 06 #Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 #Javascript
You might like
PHP+MYSQL中文乱码问题
2015/07/01 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
详解React中setState回调函数
2018/06/14 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
在Python中使用Neo4j数据库的教程
2015/04/16 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
python实现最长公共子序列
2018/05/22 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
详解Python yaml模块
2020/09/23 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
为什么需要版本控制?
2013/08/08 面试题
感恩母亲节活动方案
2014/03/04 职场文书
绩效管理实施方案
2014/03/19 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
总经理司机岗位职责
2015/04/10 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
nginx请求限制配置方法
2021/07/09 Servers
Pygame Event事件模块的详细示例
2021/11/17 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android