解决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实现下载文件流完整前后端代码
Nov 17 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
vue实现登录功能
Dec 31 Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
vue keep-alive的简单总结
Jan 25 Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 Vue.js
Vue基本指令实例图文讲解
Feb 25 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
Vue Mint UI mt-swipe的使用方式
Jun 05 Vue.js
vue el-table实现递归嵌套的示例代码
Aug 14 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
中国的第一台收音机
2021/03/01 无线电
PHP中其实也可以用方法链
2011/11/10 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
浅谈php扩展imagick
2014/06/02 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
vue上传图片组件编写代码
2017/07/26 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python打开文件并获取文件相关属性的方法
2015/04/23 Python
部署Python的框架下的web app的详细教程
2015/04/30 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
2017/06/01 Python
Python 监测文件是否更新的方法
2019/06/10 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python线程池如何使用
2020/05/28 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
路政管理专业推荐信
2013/11/11 职场文书
物流创业计划书
2014/02/01 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
国际贸易实训报告
2014/11/05 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书