Element-UI搜索下拉在IE下的BUG解决办法

1,588 阅读1分钟

关于ie下带搜索的下拉BUG造成的原因:

IE下的Input不支持readonly 无法失去焦点 但element ui这时候默认已经隐藏掉下拉项了 所以无法搜索

解决办法:通过visible-change事件判断当element ui 隐藏下拉项时 手动使IE下input失去焦点

具体实现方式:

  • 1、vue文件
<el-form-item label="省" prop="consigneeProvince">
  <el-select v-model="pickForm.consigneeProvince"
             filterable
             ref="consigneeProvince"
             clearable
             placeholder="请选择省"
             @visible-change="inputBlur($event,'consigneeProvince')"
             @change="handleChangeProvince(pickForm.consigneeProvince)">
    <el-option v-for="item in consigneeProvinceOption"
               :key="item.value"
               :label="item.label"
               :value="item.value"></el-option>
  </el-select>
</el-form-item>
  • 2、methods
/**
 * 下拉搜索隐藏失去焦点(IE下)
 */
inputBlur(flag,refName){
  // 隐藏下拉时失去焦点(针对ie)
  if(!flag){
    this.$refs[refName].$children[0].blur();
  }
}

注:visible-change为element ui 下拉项展开收起触发的方法 下拉项隐藏时第一个参数为false