解决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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
Apr 10 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
Dec 18 Javascript
动态调用CSS文件的JS代码
Jul 29 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
Apr 28 Javascript
Javascript 颜色渐变效果的实现代码
Oct 01 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
Oct 17 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
JS判断图片是否加载完成方法汇总(最新版)
May 13 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
详解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缩略图生成程式(需要GD库支持)
2007/03/06 PHP
php中使用url传递数组的方法
2015/02/11 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
php for 循环使用的简单实例
2016/06/02 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python实现多人聊天室
2020/03/31 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
python datetime处理时间小结
2020/04/16 Python
Python数据正态性检验实现过程
2020/04/18 Python
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
大一自我鉴定范文
2013/10/04 职场文书
读后感作文评语
2014/12/25 职场文书
市级三好学生评语
2014/12/29 职场文书
心灵点滴观后感
2015/06/02 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python