<template>
<div>
<p>输入数据{{ state }}</p>
<el-autocomplete
v-model="state"
value-key="school_name"//这个属性默认是value,要绑定你要搜索选择展示的那个字段
:fetch-suggestions="querySearchAsync"
placeholder="请输入内容"
@select="handleSelect"
></el-autocomplete>
</div>
</template>
<script>
import { schoolList } from "@/api/essentialData"
export default {
data(){
return {
state:'',
queryList:[]
}
},
methods:{
querySearchAsync(queryString, callback){
if(queryString && queryString != ''){
schoolList({search:{school_name:queryString}}).then(response => {
callback(response.data);
//response.data的格式相当于[{school_name:'哈哈',id:1},{school_name:'呼呼',id:2},...]
})
}
},
handleSelect(item){//这里选择之后,拿到的就是选择的数组中的那其中一个对象
console.log('选择结果',item.id)
//这个时候我们可以把这个id赋值给我们要用的表单的某个属性里,或者这个当做子组件,把这个id$emit推上去
}
}
}
</script>
vue中使用element-ui组件库实现输入搜索功能(带id)
于 2024-05-31 16:45:49 首次发布