ant-design-vue/components/vc-select/demo/tbFetchSuggest.js

36 lines
714 B
JavaScript

import jsonp from 'jsonp'
import querystring from 'querystring'
let timeout
let currentValue
export function fetch (value, callback) {
if (timeout) {
clearTimeout(timeout)
timeout = null
}
currentValue = value
function fake () {
const str = querystring.encode({
code: 'utf-8',
q: value,
})
jsonp(`http://suggest.taobao.com/sug?${str}`, (err, d) => { // eslint-disable-line
if (currentValue === value) {
const result = d.result
const data = []
result.forEach((r) => {
data.push({
value: r[0],
text: r[0],
})
})
callback(data)
}
})
}
timeout = setTimeout(fake, 300)
}