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的ajax基础上的超强GridView展示
Sep 18 Javascript
Ajax搜索结果页面下方的分页按钮的生成
Apr 05 Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
jquery图片不完全按比例自动缩小的简单代码
Jul 29 Javascript
网页右下角弹出窗体实现代码
Jun 05 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
AngularJS 实现JavaScript 动画效果详解
Sep 08 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 Javascript
详解Angular 4.x 动态创建组件
Apr 25 Javascript
Node.js安装配置图文教程
May 10 Javascript
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
基于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缓存技术的使用说明
2011/08/06 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
jQuery源码分析之Event事件分析
2010/06/07 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
2014年应届大学生自我评价
2014/01/09 职场文书
领导离职感言
2015/08/03 职场文书
物业保洁员管理制度
2015/08/05 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
Python合并多张图片成PDF
2021/06/09 Python
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js