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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
jQuery 表格插件整理
Apr 27 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
JQuery each()嵌套使用小结
Apr 18 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
Feb 05 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
Mar 25 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
vue-cli项目配置多环境的详细操作过程
Oct 30 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
Mar 03 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
global.php
2006/12/09 PHP
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
PHP解析RSS的方法
2015/03/05 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
javascript call方法使用说明
2010/01/11 Javascript
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
python生成九宫格图片
2018/11/19 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
美的官方商城:Midea
2016/09/14 全球购物
悬挂训练绳:TRX
2017/12/14 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
一套C++笔试题面试题
2012/06/06 面试题
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
餐饮营销方案
2014/02/23 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
会计学专业自荐信
2014/06/25 职场文书
师范毕业生求职信
2014/07/11 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
2016年少先队活动总结
2016/04/06 职场文书
python Polars库的使用简介
2021/04/21 Python
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏