1. 程式人生 > 其它 >在elementUI中使用 el-autocomplete 實現帶搜尋建議的下拉框

在elementUI中使用 el-autocomplete 實現帶搜尋建議的下拉框

想實現的效果

實現方法

<el-autocomplete
v-model="detail.CUSTOMER_NAME"
:fetch-suggestions="querySearchAsync"
@select="handleSelect"
placeholder="請輸入內容"
>
</el-autocomplete>

在script中新增下面兩個函式


//queryString 為在框中輸入的值
//callback 回撥函式,將處理好的資料推回
querySearchAsync(queryString, callback) {
var list = [{}];
//呼叫的後臺介面
let url = 後臺介面地址 + queryString;
//從後臺獲取到物件陣列
axios.get( url ).then((response)=>{
//在這裡為這個陣列中每一個物件加一個value欄位, 因為autocomplete只識別value欄位並在下拉列中顯示
for(let i of response.data){
i.value = i.想要展示的資料; //將想要展示的資料作為value
}
list = response.data;
callback(list);
}).catch((error)=>{
console.log(error);
});
}



@select="handleSelect" 是選中某一列觸發的事件,在這裡item為選中欄位所在的物件

handleSelect(item) {
    console.log(item);
    //do something
}

需要注意的地方:

後臺獲取的陣列中每一個物件必須要有一個value欄位, 因為autocomplete只識別value欄位並在下拉列中顯示

這裡獲取資料使用axios, 需要安裝並引入