element-ui框架中el-select组件在按回车时,如何隐藏下拉菜单,并触发键盘事件


场景:

  1. 根据产品需求,下拉菜单在按下回车后进行搜索
  2. 判断页面所需的筛选项是否为空,如果为空,按下回车,不执行查询
  3. 按下回车,如何让下拉菜单隐藏(或者失去焦点,因为下拉项要显示的前提是获取焦点)
    @keyup.enter.native="search"
      @submit.native.prevent
    >
    
        ref="selectProvinces"
          @visible-change="isShowSelectOptions"
        >
          
        
      
    
         ref="selectCitys"
          @visible-change="isShowSelectOptions"
        >
          
        
      
    
@click="search">搜索 重置 关闭
created() {
	// 全局添加事件监听
	window.addEventListener('keyup', this.search)
},
methods: {
	// 是否显示下拉框
	isShowSelectOptions(isShowSelectOptions){
		if(!isShowSelectOptions) this.$refs.selectProvinces.blur();
		if(!isShowSelectOptions) this.$refs.selectCitys.blur();
	},

	// 条件查询数据
	search(e) {}
}

3. 重要函数:

  1. @visible-change=“isShowSelectOptions”

或者

直接在

el-select上加上 :popper-append-to-body="!showSearch ? true : false"   例如:
      
            
              
            
          

参考:https://www.freesion.com/article/32101060707/

vue