el-select 搜索功能 按tab键默认选第一列

首先el-select 搜索功能是这样的:

当我们输入一个数据时下拉列表搜索出来我们输入的数据  然后按鼠标 或者enter键进行选择,enter键直接默认选择

两种情况:

1.创建条目远程搜索

产品要求是按tab键 跳进表单项 输入数据后 按tab键 选择当前输入的值并跳进下一个表单项

remote-method获取到搜索出的列表,select循环中的列表搜索出来的列表,然后tab键选择出搜索列表的第一个,然后再加上个点击input框时候,获取未搜索时的列表数据



remoteMethod(query,list) {

if (query !=='') {

this.loading =true;

    let arr = []

setTimeout(() => {

this.loading =false;

        arr = list.filter(item => {

return item.code.toLowerCase().indexOf(query.toLowerCase()) > -1;

        });

        this.$set(this,'searchOptions',arr)

this.$forceUpdate()

}, 200);

  }else {

this.searchOptions = list;

  }

},

2.select远程搜索,相当于输入个列表中存在的数据 按tab键 保留输入的值 跳到下个表单

思路就是我在输入的时候拿输入的值去和下拉框比对,如果相同那么赋给model值

:filter-method="(value)=>{filterMethod(value,partCodeList,scope.row,'partCode')}"


filterMethod(value,list,row,name){

let modelValue =''

  modelValue = list.find(item => {

return item.code.toLowerCase() ===value.toLowerCase()

});

  // value.toLowerCase()

  this.$set(row,name,modelValue.code)

},

你可能感兴趣的:(el-select 搜索功能 按tab键默认选第一列)