问题:获取到后端返回的数组,并将数组传入作为results 传入 callback后,焦点放在输入框上的时候,并未出现任何内容,只出现了一个不完整的空白框。
原因分析:Elemen t带建议查询输入框,输入建议列表的数据只来源于
data:[] 中的 value 字段!!!
解决方案1:将自己的数据需要展示的字段组成{value:‘建议’}这种格式
this.devEuiArr.push({“value”: item.dev_eui})
searchAppNodeApi(searchQuery).then(response => {
this.loadAll = response.data
this.devEuiArr = [];
for (let item of this.loadAll) {
this.devEuiArr.push({"value": item.dev_eui})
}
})
后来查阅资料发现有更简单的解决方案:
解决方案二:通过设置el-autocomplete的value-key属性来设置作为输入建议的字段
value-key = ‘nickName’ (我的建议字段是 nickName)
<el-autocomplete
v-model="form.personName"
:fetch-suggestions="querySearch"
placeholder="请输入负责人名称"
:trigger-on-focus="false"
value-key = 'nickName'
@select="handleSelect"
style="width: 300px;">
</el-autocomplete>
简单一行代码就解决啦