首页 > 其他分享 >elSelect点击空白处无法收起下拉框(失去焦点并隐藏)

elSelect点击空白处无法收起下拉框(失去焦点并隐藏)

时间:2023-05-08 11:13:09浏览次数:46  
标签:event el clickOutsideEvent 下拉框 clickOutSide elSelect select click 空白处

学习记录,为了以后有同样的问题,省得再百度了,方便自己也方便你们
element 中多选的select 有个问题,就是点击空白或者关闭弹窗,下拉还会一直展示出来
百度了好一会,觉得下面两位大佬说的最合理,然后就搬运了下
由于我这边业务很简单,然后就不想全局折腾
参考大佬链接地址
https://www.jb51.cc/vue/4044674.html
https://blog.csdn.net/Scott_zt/article/details/106494140
以下代码复制位置如图所示

  // 定义指令
  directives: {
    clickOutside: {
      bind: function (el, binding, vnode) {
        el.clickOutsideEvent = function (event) { // here I check that click was outside the el and his childrens
          if (!(el === event.target || el.contains(event.target))) { // and if it did, call method provided in attribute value
            vnode.context[binding.expression](event)
          }
        }
        document.body.addEventListener('click', el.clickOutsideEvent)
      },
      unbind: function (el) {
        document.body.removeEventListener('click', el.clickOutsideEvent)
      }
    }
  },

  使用方法

   ref="select"    v-clickOutside="clickOutSide"

 

methods里加个 clickOutSide
  clickOutSide () {
      this.$refs.select.blur()
    },

  

 

然后就完活了,我这边是可以的,如果有别的问题,你可以参考下上面两位大佬写的

标签:event,el,clickOutsideEvent,下拉框,clickOutSide,elSelect,select,click,空白处
From: https://www.cnblogs.com/aowu666/p/17381094.html

相关文章

  • 直播平台制作,vue el-dropdown下拉框单选有对钩高亮
    直播平台制作,vueel-dropdown下拉框单选有对钩高亮 <template> <div>  <divclass="selected"></div>  <el-dropdown   style="    cursor:pointer;    font-weight:500;    font-size:16px;    line-height:1;  ......
  • element ui select下拉框多选拿到label值
    departmentIds:[],departmentNames:[], changeLocationValue(val){   this.departmentIds=[]//初始化数据   this.departmentNames=[]//初始化数据   for(leti=0;i<=val.length-1;i++){    this.dict.type.enterprise......
  • Angular4_下拉框多选(支持响应式表单验证和模板驱动表单验证)
    支持Angular的响应式表单验证和模板驱动表单验证效果图:UsingwithTemplatedrivenFormsSkills*requiredAngularNameEmailAddress*requiredSubmitName [email protected]{"name":"","email&qu......
  • react18中antd的select选择器组件自定义下拉框的内容
    效果如图导入组件和图标import{Select}from'antd'import{ManOutlined,WomanOutlined}from'@ant-design/icons';const{Option}=Select;数据letuserListOption=[{value:1,label:"小明",avatar:"http://xxx......
  • 禁止select下拉框的其中某个选择项不能被选择
    <selectname='Grade'class='s8'><optionvalue=''>—请选择—</option><optgrouplabel='学期教育'></optgroup><optionvalue='18'>学期教育</option><optgrouplabel=�......
  • Bootstrap Table表格中存放下拉框,读取数据填充到下拉框
    初学Bootstarp,个人感觉一个功能非常强大的前端框架,由于学习的路途也不是一番风顺的,难免会遇到问题,将遇到的问题整理,可以时常看看,加深记忆。最近做表格需要在表格中加入<select>标签,将数据填充到下拉框,无奈搞了好几个小时也没有成功,最后经过请教身边的大佬,得以解决。代码如下:htt......
  • bootstraptable单元格可输入(输入框,下拉框)
    https://blog.csdn.net/weixin_45742032/article/details/105145655bootstraptable单元格可输入效果图效果图一(单元格中加入下拉框,这里的数据是从数据库取的) <tableid="payment_detail_table"></table>js内容vartemplateTableParams={classes:"tabletable......
  • vue下拉框选择后不显示值,选其他下拉框后才显示出来
    vue下拉框选择后不显示值,选其他下拉框后才显示出来 vue也太坑了解决方法:为该el-select添加change事件中使用$set来对属性赋值,如下:changeData(val){ this.$set(this.formData,this.formData.id,val.value)}......
  • :hover下拉框的实现
    通过绝对定位与:hover实现的下拉框效果;一开始没什么大问题,效果也都实现了;但观察对应的项目发现其中的文字其实是超连接所以后续添加了超连接标签后就无法通过:hover进行展示了。源代码<divclass="header-bottom"><ul><ahref=""><li>首页</li>......
  • select下拉框处理
    1.selectByIndex()根据索引来选取,从0开始2.selectByValue()根据属性value的属性值来选取3.selectByVisibleText()根据标签之间的Text值,也就是页面显示的注意:导入的包要正确不然会报错。  importorg.openqa.selenium.support.ui.Select;单选下拉列表:HTML源码<tr>......