使用el-autocomplete,提示怎么弄都不出现,不知道是什么原因,求助各位大神相助。
<el-autocomplete
placeholder="请输入文字搜索"
icon="search"
v-model="input"
minlength=1
maxlength=100
:fetch-suggestions="querySearchAsync"
@select="handleSelect"
:on-icon-click="handleIconClick">
</el-autocomplete>
loadAll() {
return new Promise((resolve, reject) => {
let postInfoObj = {}
postInfoObj.title = this.input
postInfoObj.note = this.input
searchInfosByTitleOrNote(1, 10, JSON.stringify(postInfoObj)).then(res => {
// console.log(res.resultList)
var array = []
var maxSize = 5
if (res.data.resultList.length <= 5) {
maxSize = res.data.resultList.length
}
for (var i = 0; i < maxSize; i++) {
var obj = {}
obj.value = res.data.resultList[i].title
array.push(obj)
}
if (array.length !== 0) {
this.searchInfoResults = array
} else {
this.searchInfoResults = []
}
if (this.searchInfoResults.length !== 0) {
resolve()
} else {
reject()
}
})
})
},
querySearchAsync(queryString, cb) {
let _this = this
if (this.input === undefined) {
cb([])
return
}
this.input = this.input.trim()
if (this.input === '') {
cb([])
return
} else {
this.loadAll().then(() => {
console.log(_this.searchInfoResults)
cb(_this.searchInfoResults)
})
}
},
searchInfoResults
是异步获取的,结果用console是可以获取的到的,可是不知道为什么就是不显示提示框
问题解决了,不过其实我也不太清楚是怎样解决了,反正我是重新启动了一下项目就OK了,可能是因为网络的问题吧。