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知识点收藏
Feb 22 Javascript
jquery 模式对话框终极版实现代码
Sep 28 Javascript
使用js正则控制input标签只允许输入的值
Jul 29 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
Sep 02 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
AjaxUpLoad.js实现文件上传功能
Mar 02 Javascript
详解VueJs中的V-bind指令
May 03 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
Aug 08 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
php数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python3实现基于用户的协同过滤
2018/05/31 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
python hough变换检测直线的实现方法
2019/07/12 Python
python入门之井字棋小游戏
2020/03/05 Python
PyTorch-GPU加速实例
2020/06/23 Python
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
领导检查欢迎词
2014/01/14 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
暖春观后感
2015/06/08 职场文书
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
Android中的Launch Mode详情
2022/06/05 Java/Android