时间:2021-05-18
如下所示:
<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>所需要实现的功能是当查询输入时,如果用户输入的数据是选项里面不匹配的,则返回显示无匹配数据。
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事件的触发问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
直接上代码吧~我想在触发下拉框change事件时获取到scope里的值,因为el-select的change事件默认有个回调参数,就是选择的value,如果想额
在项目中发现使用el-select时写的比较多重复代码,还有就是同一个页面使用el-select会出现label值会显示value值,el-select组件化:
我使用的是element-uiV2.2.3。代码如下,当我选择值得时候,el-select选择器无法显示选中的内容,但是能触发change方法,并且能输出选择的
如何修改elementUI提供的el-select组件的样式网上有很多关于这个的解决方式:1、找到下拉框的类名,写个全局样式覆盖掉就行了2、修改.el-sele
el-select数据过多处理方式在日常项目中el-select组件的使用频率是非常之高的.当数据过多时渲染时间非常长,这里提供几个处理方式.远程搜索组件提供了