解决vue elementUI 使用el-select 时 change事件的触发问题


Posted in Vue.js onNovember 17, 2020

如下所示:

<el-select v-model="level" size="mini" placeholder="请选择" :change="selectChange()">
 <el-option v-for="item in select" :key="item.value" :label="item.label" :value="item.value"></el-option>
 </el-select>

我们需要的是选择之后才触发,但是这样写你会发现,页面初始化的时候会触发多次,选择之后又会触发多次,原因是我们用错了标签,应该用 @change="selectChange()

<el-select v-model="level" size="mini" placeholder="请选择" @change="selectChange()">
 <el-option v-for="item in select" :key="item.value" :label="item.label" :value="item.value"></el-option>
 </el-select>

这样写就可以了,v-bind的缩写是:,v-on的缩写是@,这里是触发事件,应该用@,

补充知识:为elment-ui的el-select选择器添加onblur失焦事件产生的问题

如下所示:

<div class="oneline">
     <span >用户编号:</span>
     <div class="block left">
      <el-select
      :no-match-text="msg"
      :popper-append-to-body=false
      placeholder='请选择'
      v-model="value" filterable popper-class='contentadd_select' 
      ref='select'>
       <el-option
        v-for="item in users"
        :key="item.accont"
        :label="item.accont"
        :value="item.accont">
       </el-option>
      </el-select>
     </div>
    </div>

解决vue elementUI 使用el-select 时 change事件的触发问题

所需要实现的功能是当查询输入时,如果用户输入的数据是选项里面不匹配的,则返回显示无匹配数据。

JS代码如下

this.$refs.select.$refs.reference.$refs.input.onblur = ()=>{
    let haveitem=0;
    for(let i=0;i<this.users.length;i++){
     if(this.$refs.select.query==this.users[i].accont){
      haveitem++;
     }
    }
    if(!haveitem){
     this.value='无匹配数据'
     // this.msg=' '
    }
  }

上述代码的this.$refs.select.query是选择器输入时查询框绑定的值。

选择器属性有filterable属性时为可查询选择。

使用开发者工具测试时发现el-select选择器数据绑定的对象value跟查询输入时的数据对象不是同一个,然后查看el-select源码得知查询输入时的数据绑定在select.query上。

本来el-select有个blur事件绑定函数属性。但是使用后发现有时候失焦事件并不能触发生效,也就导致所绑定的函数不能执行。

看了源码得知blur这个事件函数有个定时器什么的,看不太懂,但是知道不是浏览器原生的失焦事件。

于是用vue的ref定位到该选择器来实现绑定原生onblur事件,则可以避免这个问题。

也可以使用操作dom查询利用选择器定位到这个选择器进行失焦事件绑定。

以上这篇解决vue elementUI 使用el-select 时 change事件的触发问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
vue element实现表格合并行数据
Nov 30 Vue.js
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 Vue.js
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
Vue实现简单购物车功能
Dec 13 Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
Vue常用API、高级API的相关总结
Feb 02 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
vue3获取当前路由地址
Feb 18 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
Vue项目利用axios请求接口下载excel
Nov 17 #Vue.js
vue实现下载文件流完整前后端代码
Nov 17 #Vue.js
vue+iview实现文件上传
Nov 17 #Vue.js
vue中echarts的用法及与elementui-select的协同绑定操作
Nov 17 #Vue.js
vue+iview实现分页及查询功能
Nov 17 #Vue.js
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 #Vue.js
vue+iview分页组件的封装
Nov 17 #Vue.js
You might like
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php实现文件编码批量转换
2014/03/10 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
用jscript实现新建word文档
2007/06/15 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
用Python将结果保存为xlsx的方法
2019/01/28 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
法务专员岗位职责
2014/01/02 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
大一新生学期自我评价
2014/04/09 职场文书
《称象》教学反思
2014/04/25 职场文书
效能监察建议书
2014/05/19 职场文书
员工聘用合同范本
2015/09/21 职场文书