问题描述:

select组件的远程搜索需求,通过 input 输入框进行筛选,当选择确认之后在选中的内容之后还有输入的文案,这时需要手动去清除。

el-select 通过输入框筛选内容之后,清空输入框的值_前端

解决方案:

我们可以通过 ref 来获取 dom,其中 dom 的 query 字段即为我们 input 输入的内容。

<el-select
  v-model="attendList"
  ref="selectAttent"
  remote
  multiple
  filterable
  value-key="newKey"
  style="width:90%"
  reserve-keyword
  :remote-method="querySearchName1" // 远程请求的方法
  placeholder="请选择"
  @change="change"
  @remove-tag="removePerson"
  @keyup.enter.native="blurOnEnter"
  >
      <el-option v-for="(itemN) in nameList1" :key="itemN.newKey" :value="itemN">
          <span>{{ itemN.newKey }}</span>
      </el-option>
  </el-select>

el-select 通过输入框筛选内容之后,清空输入框的值_字段_02


当选择完成之后,即触发 change 事件 后,清空 query 的值即可。

change(){
	this.$refs.selectAttent.query = '';
}