Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)


Posted in Javascript onOctober 25, 2019

官网的demo献上

在elementui Input输入框中可以找到远程搜索组件,获取服务端的数据

Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)

官网中的数据list都是写在loadAll()中的,而如果我们此时要用到mock的数据就要在此基础上对代码进行修改。

-mock数据的获取-

我们要获取远程mock中所有学生的学号信息,根据输入的数据来远程查找目标,并且在选中该目标后能够自动填充对应的姓名、生日、手机等信息,实现快速获取信息的功能,再也不用手动一个个去输入所有的数据啦~

在template中添加el-autocomplete

<el-autocomplete 
 placeholder="请输入studentID"
 v-model="form.studentID" 
 :fetch-suggestions="querySearchAsync" 
 @select="handleSelect" 
>
</el-autocomplete>

在script中添加以下函数

//queryString 为在框中输入的值
//cb 回调函数,将处理好的数据推回
querySearchAsync(queryString, cb) {
 var studentBasic = this.studentBasic;
 console.log(studentBasic)
 var results = queryString ? studentBasic.filter(this.createStateFilter(queryString)) : studentBasic;
 console.log('results '+results)
 clearTimeout(this.timeout);
 this.timeout = setTimeout(() => {
  cb(results);
 }, 0.5*1000);
 },
//根据输入的字段进行筛选
createStateFilter(queryString) {
 return (state) => {
 return (state.value.toString().toLowerCase().indexOf(queryString.toLowerCase()) === 0);
 };
 },

//将其他数据自动补全,采用覆盖的方法
handleSelect(item){
 this.form.name = item.name;
 this.form.studentID = item.value;
 this.form.birth = item.birthday;
 this.form.region = item.city;
 this.form.phone = item.phone;
 }

选中目标学号以后自动补全其他mock的数据

Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)-

-踩坑点之value字段-

看了网上很多demo都说后台获取的数据对象必须有value关键字,因为autocomplete只识别value字段,这里有一个实现的小trick:

this.studentBasic= JSON.parse(JSON.stringify(this.list).replace(/studentID/g,"value"));

JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或者如果指定了replacer是一个数组,可选的仅包括指定的属性。这样我们就可以把自己的属性都替换成value字段啦~cool

总结

以上所述是小编给大家介绍的Vue el-autocomplete远程搜索下拉框并实现自动填充功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JavaScript 全角转半角部分
Oct 28 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
JavaScript中的Array对象使用说明
Jan 17 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
Jan 22 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
Apr 29 Javascript
Javascript学习笔记之数组的遍历和 length 属性
Nov 23 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
JS使用数组实现的队列功能示例
Mar 04 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
Oct 25 #Javascript
vue实现评论列表功能
Oct 25 #Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 #Javascript
浅谈layui 表单元素的选中问题
Oct 25 #Javascript
layUI的验证码功能及校验实例
Oct 25 #Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 #Javascript
详解node登录接口之密码错误限制次数(含代码)
Oct 25 #Javascript
You might like
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
三种Webpack打包方式(小结)
2018/09/19 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
python开发前景如何
2020/06/11 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
一年级学生期末评语
2014/04/21 职场文书
上党课的心得体会
2014/09/02 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
学习党章心得体会2016
2016/01/15 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
windows系统搭建WEB服务器详细教程
2022/08/05 Servers