解决element-ui的el-select选择器的@blur事件失效的坑

目录
  • element-ui的el-select选择器的@blur事件失效
    • 解决
  • 使用el-select中的@blur遇到的问题
    • 解决

element-ui的el-select选择器的@blur事件失效

element-UI文档中本来el-select有个blur事件绑定函数属性。

但是使用后发现有时候失焦事件并不能触发生效,也就导致所绑定的函数不能执行。

解决

利用el-select的@focus方法,在select标签内 添加 ref 于此便可在focus事件内触发 blur事件。

代码如下:

 <el-select
            multiple
            filterable
            allow-create
            default-first-option
            v-model="request_msg"
            placeholder="请选择或自行输入拒绝原因"
            class="config-select"
            @focus="onBlur('request_msg', 'reqMsgRef')"
            ref="reqMsgRef"
          >
            <el-option
              v-for="item in refuseConfig"
              :key="item"
              :value="item"
              :label="item"
            ></el-option>
 </el-select>
onBlur(flag, ref) {
      this.$refs[ref].$refs.input.blur = () => {

      	// 这里执行失焦的代码
        const inp = this.$refs[ref].$refs.input.value
        if(!inp) return
        this[flag].push(inp)
      };
    },
  // this.$refs[ref].$refs.input 此根节点找到得根节点时输入得input
  // this.$refs.select.$refs.reference.$refs.input 此根节点找到得是最外层得 input。包含被选中的数据在内

使用el-select中的@blur遇到的问题

最近在使用elementui中的el-select的时候,想要达到的效果是失去焦点之后获取el-select中选中的值,但是在实际使用中出现了如下问题:

1.直接使用@blur,第一次选中的时候,console的时候会输出一个空的内容,失去焦点再次输出想要的内容,

2.第二次选择其他内容会打印上一次选中的,失去焦点再次输出想要的内容

解决

1.使用*@blur.capture.native*

2.在methods中,对e.target.value进行判断,

   blurChange(e){
      if(e.target.value){  // 不加这句还会多输出一次空白的
        console.log(e.target.value,'__________');
      }
    } 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决element-ui中下拉菜单子选项click事件不触发的问题

    将@click改为@click.native='logoutHandle';即可监听选项的点击事件. <el-dropdown class="pull-right" > <span class="el-dropdown-link"> <img src="./img/header.jpg" alt="" class="pull-right"> </span> &

  • vue element-ui 绑定@keyup事件无效的解决方法

    解决办法: <el-input v-model="searchParmas.gameName" placeholder="游戏名称" class="w120" @keyup.native="getGameList(searchParmas.gameName)"></el-input> 加上.native覆盖原有封装的keyup事件即可. 以上这篇vue element-ui 绑定@keyup事件无效的解

  • Vue Element-ui 键盘事件失效的解决

    目录 Element-ui 键盘事件失效 按键修饰符 使用element-ui时监听登录界面全局键盘回车事件 方法一 方法二 Element-ui 键盘事件失效 按键修饰符 vue中提供了一些按键修饰符,开发者可以直接通过按键修饰符捕捉键盘事件 Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: .enter .tab .delete (捕获“删除”和“退格”键) .esc .space .up .down .left .right 例如:.enter <!-- 只有在 `key` 是

  • 解决element-ui的el-select选择器的@blur事件失效的坑

    目录 element-ui的el-select选择器的@blur事件失效 解决 使用el-select中的@blur遇到的问题 解决 element-ui的el-select选择器的@blur事件失效 element-UI文档中本来el-select有个blur事件绑定函数属性. 但是使用后发现有时候失焦事件并不能触发生效,也就导致所绑定的函数不能执行. 解决 利用el-select的@focus方法,在select标签内 添加 ref 于此便可在focus事件内触发 blur事件. 代码如下:

  • 解决element UI 自定义传参的问题

    如下所示: <el-autocomplete v-model="state4" :fetch-suggestions="querySearchAsync" placeholder="请输入内容" @select="handleSelect" ></el-autocomplete> 这里的 hanleSelect 默认绑定的参数是选中的那条数据. 但是如果一个页面有好几个相同的组件,要想知道选中的是第几个

  • Element UI table参数中的selectable的使用及遇到坑

    Element UI table参数中的selectable的使用中遇到的坑:页面: <el-table-column :selectable='selectable' type="selection" :reserve-selection="true"> </el-table-column> 网上搜了说这样: selectable(row,index) { if(row.id==="10001"){ return fal

  • layui 中select下拉change事件失效的解决方法

    layui 中select下拉change事件失效的处理方法 1.select中添加 lay-filter="test" <select lay-filter="test"></select> 2.处方方法 form.on('select(test)', function(data){ console.log(data.elem); //得到select原始DOM对象 console.log(data.value); //得到被选中的值 co

  • 解决vue 给window添加和移除resize事件遇到的坑

    在vue项目中需要监听window窗口变化来时时计算图片的高度,于是就加了一个监听事件:确实监听到了,但是在离开当前页面进入其他页面改变窗口大小时发现window还是处于监听状态,即移除监听事件并没有生效. //之前的写法,这样写移除监听事件无效 mounted(){ window.addEventListener('resize',()=>{ '改变窗口大小时需要做的处理' }); }, beforeDestroy() { window.removeEventListener("resi

  • 解决element ui cascader 动态加载回显问题

    elementui是基于vue2.0的组件库,专为开发人员.设计人员而设计的:可以快速搭建项目框架,集成了界面样式,先给大家介绍下element ui cascader 动态加载回显问题解决方法. props: { lazy: true, async lazyLoad(node, resolve) { } } 但是当我赋值给cascader的时候,cascader却不显示了.只要重新加载下cascader组件就行. <el-cascader v-if="isShowAddressInfo&

  • 解决element ui select下拉框不回显数据问题的解决

    最近在做一个项目,项目的后端是地址: https://github.com/wangyuanjun008/wyj-springboot-security.git 前端地址是 https://github.com/wangyuanjun008/wyj-vue-security.git ,使用的前端语言是vue,使用webpack构建vue-cli全家桶 在项目中用到 el-select 时遇到一个问题,就是在编辑表单时,下拉框的不显示数据,前台代码如下: <el-select v-model=&quo

  • element ui时间日期选择器el-date-picker报错Prop being mutated:"placement"解决方式

    目录 发现错误 解决 补充:el-date-picker 初始化报错 总结 发现错误 这两天在写新项目的时候,遇到了element ui 时间日期选择器一直报错 [Vue warn]: Avoid mutating a prop directly since the value will beoverwritten whenever the parent component re-renders.Instead, use a data or computed property based on

  • 解决WebStorm 2022.3.x 无法识别 Element UI 2.15.11 新版本中的 el-xxx 标签问题(两种解决方案)

    目录 问题解读 解决(方案一) 解决(方案二) 问题解读 如题,其实2.15.11这个版本的Element UI新增了功能,改进WebStorm IDE和其他JetBrains IDE中的代码帮助.本义是想很好的支持IDE软件,代码提示更加方便,但作者发布时候少打包了一个文件,这就导致Webstorm不认识所有的el-xxx标签!!! 解决(方案一) 既然知道了这个版本有点小问题,那就简单粗暴,暂时降级到2.15.10版本,提示就有了.等过段时间官方修复了BUG,再改回最新版即可. 注意,由于我

  • Element UI框架中巧用树选择器的实现

    本文介绍了Element UI框架中巧用树选择器的实现,分享给大家,顺便给自己留个笔记,具体如下: 介绍 在Element UI框架中有选择器和树形控件,但是没有树形选择器,也就是图上的这种方式的选择器,所以只能自定义选择器的slot.这里介绍的是多选情况,如果是单选则去掉复选框,修改一部分的处理即可. html部分的代码: <el-select v-model="dataArr" :multiple="multiple" filterable :placeh

随机推荐