pull/1/head
parent
9c58fb5f1f
commit
686ca1220d
8 changed files with 336 additions and 135 deletions
@ -0,0 +1,55 @@ |
|||||||
|
<template> |
||||||
|
<el-autocomplete |
||||||
|
v-model="text" |
||||||
|
:fetch-suggestions="querySearchAsync" |
||||||
|
:value-key="config.valueKey" |
||||||
|
:placeholder="config.placeholder" |
||||||
|
clearable |
||||||
|
@select="selectAutocomplete" |
||||||
|
@clear="params[config.querykey] = ''" |
||||||
|
></el-autocomplete> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
props: { |
||||||
|
params: Object, |
||||||
|
config: Object, |
||||||
|
// config: { |
||||||
|
// serveTarget: {}, // 接口 |
||||||
|
// autocomplateKey: "", //远程搜索接口参数名 |
||||||
|
// querykey: "", //查询接口参数名 |
||||||
|
// }, |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
text: "", |
||||||
|
}; |
||||||
|
}, |
||||||
|
created() { |
||||||
|
console.log("params", this.params); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
// 远程搜索 |
||||||
|
querySearchAsync(queryString, cb) { |
||||||
|
if (queryString) { |
||||||
|
let params = {}; |
||||||
|
params[this.config.autocompleteKey] = queryString; |
||||||
|
this.config.serveTarget(params).then((res) => { |
||||||
|
let timeInstance = setTimeout(() => { |
||||||
|
clearTimeout(timeInstance); |
||||||
|
if (res.data.length) { |
||||||
|
cb(res.data); |
||||||
|
} else cb([]); |
||||||
|
}, 1000 * Math.random()); |
||||||
|
}); |
||||||
|
} else cb([]); |
||||||
|
}, |
||||||
|
selectAutocomplete(item) { |
||||||
|
this.params[this.config.querykey] = item.id; |
||||||
|
}, |
||||||
|
}, |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped></style> |
Loading…
Reference in new issue