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 相关文章推荐
node.js中watch机制详解
Nov 17 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
Jan 22 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
javaScript字符串工具类StringUtils详解
Dec 08 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
基于element-ui组件手动实现单选和上传功能
Dec 06 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
Apr 30 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 Javascript
Vue父子组件传值的一些坑
Sep 16 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
咖啡常见的种类
2021/03/03 新手入门
使用数据库保存session的方法
2006/10/09 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
destoon官方标签大全
2014/06/20 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
Python生成器以及应用实例解析
2018/02/08 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
个人融资协议书
2014/10/02 职场文书
单位租车协议书
2015/01/29 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis