时间:2021-05-26
官网的demo献上
在elementui Input输入框中可以找到远程搜索组件,获取服务端的数据
官网中的数据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的数据
-
-踩坑点之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远程搜索下拉框并实现自动填充功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问题描述有一种查询叫做前端远程搜索、模糊查询。饿了么自带两种方式可以做,一种是使用el-input中的el-autocomplete,另一种是使用el-sele
问题的来源用el-autocomplete远程获取数据时,点击输入框会触发第一次请求,然后输入搜索文字后会触发第二次请求,两次请求间隔较短,有时候会出现第二次请
  一.淘宝天猫首页搜索下拉框  输入产品关键词,搜索框会自动匹配最近搜索量大的关键词,有时候顾客也会选择搜索下拉框推荐
找关键字普遍的10钟方式: 一.天猫淘宝主页搜索下拉框 键入商品关键字,输入框会全自动配对近期搜索指数大的关键字,有时消费者也会挑选搜索下拉框强烈推荐的词句
页面写死el-select下拉框标签:通过v-for="iteminstateArr"绑定,stateArr声明在Vue组件里面的data参数里面代码如下:到此