vue中el-autocomplete与el-select的异同
目录
- 前言
- 异同
- el-autocomplete
- el-select
- 总结
前言 最近项目里面需要使用到下拉框的远程搜索,我这边使用的是
el-select
,其实查看文档我们可以得知,还可以使用el-autocomplete
来实现远程搜索。那么它们具体有何异同呢?今天我们来看看。
异同
el-autocomplete
文章图片
el-autocomplete是使用
fetch-suggestions
方法实现,当输入的时候,会调用我们提供的方法,传入的参数是输入的value,以及callback。我们要把请求到的下拉列表通过callback返回(列表的每一项以key为
value
的形式传,也可以通过value-key
换成其它key)。代码如下:
export default {data () {return {value: ''}},methods: {querySearchAsync (queryString, cb) {setTimeout(() => {cb([{value: '答案cp3'}])}, 200)}}
文章图片
可以看到el-autocomplete实时输入的时候,value也是实时变化的,并且,你选中选项,再次拉起选项的时候,不会有选中的效果。
所以el-autocomplete可以理解为输入建议的组件。
el-select
文章图片
el-select的远程搜索是通过
remote-method
来实现。当你输入的时候,会调用remote-method
对应的方法来实现。参数是传入当前输入的value值。然后我们请求后,把el-select的option赋值就可以了。
代码如下:
export default {data () {return {value: '',reqLoading: false,options: []}},methods: {remoteMethod (query) {if (query !== '') {this.reqLoading = truesetTimeout(() => {this.reqLoading = falsethis.options = [{label: '答案cp3',value: '答案cp3'}]}, 200)} else {this.options = []}}}
文章图片
el-select输入的时候value不会实时变化,而是你要选择下面的option才会变化。
然后它选中了,下次打开会有选中的效果。
总结
- el-autocomplete主要是针对输入建议,value会实时刷新,选中不会有选中效果。
- el-select value不会实时刷新,选中才会更新value,并且选中会有选中效果。
推荐阅读
- v-for中动态校验el-form表单项的实践
- 云服务|中国云巨头“出海记”
- WP主题菜单错误
- 在col-4和col-8之间交替的div中包装博客文章
- REST API中的WP分页
- 中间件|Xshell的使用
- #私藏项目实操分享# go gin使用自定义中间件
- #yyds干货盘点#两个排序数组的中位数,“最”有技术含量的解法
- #yyds干货盘点#dart系列之:dart中的异步编程
- WPBakery页面构建器在主题的UI页面中显示代码