element中el-autocomplete的常见用法示例

前言:

这段时间突然发现很少写博客了,平时都在平衡工作和休息的时间,周末也没动过笔,而且更重要的是我找不到写的内容了,在经历的初始的新知识的学习阶段后,目前的阶段更加转入对于业务的理解,很多模块在不同项目中都是可以复用的。 而且工作中发现开发并不强求特别酷炫的界面效果,更多的是实用的数据展示,因此button,form,table可以说是最常用的,因此后面可能会用更多的篇幅去说这块内容的知识。

一、组件介绍

autocomplete是input组件的一个分支,专门用来处理模糊匹配的相关知识,很多时候用户希望输入一个单词就可以自动匹配到相关的内容,这时候就是这个组件发挥作用的地方了。

element中el-autocomplete的常见用法示例_第1张图片

在这里也能看到官网的相关介绍

二、基本原理

element中el-autocomplete的常见用法示例_第2张图片

将输入的名称与字典库进行匹配,然后输出成功字段。

这里的匹配时存在两种情况,一种是通过后端接口进行匹配,一种是前端进行匹配,我的感觉是如果是少量的数据可以交给前端,如果数据量过大可能后端匹配完了再输出比较好。

三、具体实现 【后端实现法】

因为涉及到接口所以只会说一下流程,重点介绍前端实现。

element中el-autocomplete的常见用法示例_第3张图片

后端匹配不需要获取字典,你只需要把前端输入字符传给后端,等后端匹配好后把结果给你,然后你再将结果返回到页面就好了。
(querySearch, cb)是固定格式,前者代表输入的字段,后者是个方法,代表输出的结果

【前端实现法】

前端实现的页面样式与后端一样,这里请求的@Select是为了处理选择后的结果

element中el-autocomplete的常见用法示例_第4张图片

因为是前端自己处理,所以需要先获取总字典序,将其存储在一个变量里面

element中el-autocomplete的常见用法示例_第5张图片

这样可以一进入页面就处理好总字典的内容。

element中el-autocomplete的常见用法示例_第6张图片

具体要讲一下这个querySearch方法中可实现的内容

if--else判断是看你想不想要用户不输入内容也进行匹配,如果默认用户输入内容才开始匹配,就只要if内的内容就好(我这里是不输入也会匹配)

element中el-autocomplete的常见用法示例_第7张图片

上文以及提到cb()中输出返回的结果,这里results变量就是你想返回的结果,具体如何根据你的匹配方法决定,一般都是输入一个字符返回匹配到的结果,但是也可以不这么匹配.

element中el-autocomplete的常见用法示例_第8张图片

实现原理是之前定义的list里面有labelname字段,你可以处理用户输入的时候按name字段,输出的是label字段,这样就实现了中英文匹配的情况.需要注意的是匹配的结果results中的value字段才会在页面上展示,如果你最后返回的list没有这个字段,页面上是不会展示内容的,这也让前端可以实现自定义展示.

element中el-autocomplete的常见用法示例_第9张图片

 

element中el-autocomplete的常见用法示例_第10张图片

最后想说明的是匹配的方法,有首字母的匹配以及模糊匹配,首字母的就是从头开始,如果第一个字符不匹配就放弃,模糊的是如果整个字符串有能匹配的字段都会输出,具体情况可以看演示.
首字母匹配

element中el-autocomplete的常见用法示例_第11张图片


模糊匹配

element中el-autocomplete的常见用法示例_第12张图片


具体方法我已经封装了,这里忽略大小写

element中el-autocomplete的常见用法示例_第13张图片

element中el-autocomplete的常见用法示例_第14张图片

handleSelect主要用来处理选中后的结果,如果不处理默认就是list表中的内容

element中el-autocomplete的常见用法示例_第15张图片

四、源码



总结

到此这篇关于element中el-autocomplete的常见用法的文章就介绍到这了,更多相关element el-autocomplete用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(element中el-autocomplete的常见用法示例)