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 相关文章推荐
跟我一起学写jQuery插件开发方法(附完整实例及下载)
Apr 01 Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
Oct 11 Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
jquery ui resize 中border-box的bug修正
Apr 26 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
Mar 09 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
Oct 23 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
js实现图片实时时钟
Jan 15 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 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中使用Oracle数据库(4)
2006/10/09 PHP
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
js模拟C#中List的简单实例
2014/03/06 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
python入门教程 python入门神图一张
2018/03/05 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python 中xpath爬虫实例详解
2019/08/26 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
Python 存取npy格式数据实例
2020/07/01 Python
几道数据库的面试题或笔试题
2014/05/31 面试题
外贸采购员求职的自我评价
2013/11/26 职场文书
关于幼儿的自我评价
2013/12/18 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
教师年度考核评语
2014/04/28 职场文书
个人欠款担保书
2014/05/20 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
Go语言编译原理之变量捕获
2022/08/05 Golang