1 <el-autocomplete style="width:300px" v-model="inputName" :fetch-suggestions="querySearch" clearable placeholder="請輸入搜索的內容"></el-autocomplete> 2 3 data() { 4 return { 5 inputName:'', 6 nameTipsArray:[],//用於存放下拉提醒框中數據的數組 7 nameArray:['table_user','table_user01','table_class','menu_table']//頁面初始化時全部數據 8 } 9 }, 10 methods:{ 11 querySearch(queruString, cb){ 12 var nameTipsArray = this.nameTipsArray; 13 cb(nameTipsArray); 14 } 15 }, 16 watch:{ 17 inputName:{ 18 handler: function() { 19 this.nameTipsArray = [];//這是定義好的用於存放下拉提醒框中數據的數組 20 var len = this.nameArray.length;//nameArray是頁面初始化時全部數據 21 var arr = []; 22 for (var i = 0; i < len; i++) {//根據輸入框中inputName的值進行模糊匹配 23 if (this.nameArray[i].indexOf(this.inputName) >= 0) { 24 arr.push(this.nameArray[i]);//符合條件的值都放入arr中 25 } 26 } 27 console.log(arr); 28 29 //el-autocomplete元素要求數組內是對象,且有value屬性,此處做一個格式調整 30 for (var i = 0; i < arr.length; i++) { 31 var obj = { value: "" }; 32 obj.value = arr[i]; 33 this.nameTipsArray.push(obj); 34 } 35 } 36 } 37 }
