vue+iview实现拼音、首字母、汉字模糊搜索

news/2024/11/24 12:09:31/

        最近项目做的后台管理系统中,要求实现一个支持拼音、首字母和汉字模糊搜索的下拉框。项目是用vue+iview做的,iview中有select远程搜索。但是,iview框架也有弊病就是会将输入框中的输入值进行过滤,如果你搜英文的,ok是可以实现的,看人家例子准备的数据也是英文的,但咱要求的是中文也能搜索,首字母和拼音都支持。

        输入中文,因为框架中是根据value取值的,所以你输入的拼音和首字母在后台返回的数据中是没有的,所以就过滤掉了。后台是支持模糊搜索的,搜索的数据也是可以返回的,但就是赋不上值。想了好多办法都行不通,感觉这个框架有点鸡肋,也不支持拼音首字母搜索,以为只有改源码才能实现。后来终于想出了办法,虽然有点麻烦,但只要能实现了就行,你说呢?

先看效果图:

支持汉字:

支持拼音:

支持首字母:

 

解决思路:

在新建的页面中:在远程搜索的方法里,后台返回的数据时给做下处理,把返回的value值后边拼接一个特殊字符,再拼接上你输入框输入的值,这样因为value里含有你输入的值就不会被过滤掉,因而就能赋上值了。

校验规则修改:如果有表单校验,要在校验时改变校验规则type: 'string',因为拼接完就是字符串了。

submit提交方法中:在submit提交表单方法里再做下处理,把刚才拼接的字符串,用特殊字符处理成数组取第1位就是原来的value值了,不过是字符串形式了,要让后台接收字符串形式的。

编辑回显页面中:要让后台配合返回的id值是字符串形式,返回的下拉列表中每个数组对象的value值也是字符串形式的。如果后台不改,只能自己再循环遍历处理成字符串。

是不是说的一脸懵逼,直接上图看的更清楚些:

 

页面结构:

 

校验规则:

单选下拉框type是字符串,多选type要求是array类型

 

远程搜索方法:

这个地方单选框和多选框处理方法一样

 

表单submit提交方法的传参中:

单选下拉框把选的v-model里的值(这里绑定的是value值)进行处理,把刚才拼接的特殊字符和输入值去掉,取前面的id值

多选因为取到的v-model值是一个数组,所以要用map函数来把每一项都处理一下

以上就步骤就实现了拼音、首字母(不分大小写)和汉字的搜索,但必须注意前提是需要后台支持这些类型的搜索且能正确返回数据

因为我编辑和新建用的是同一个页面所以还要编辑回显数据:

 


http://www.ppmy.cn/news/661375.html

相关文章

js拼音模糊搜索

2019独角兽企业重金招聘Python工程师标准>>> https://github.com/xmflswood/pinyin-match 下面以vue-cli项目的代码做范例 1.先引用该工具,在用到的子组件单独使用 import PinyinMatch from pinyin-match2.使用computed即时过滤,注意&#xf…

antd-select拼音首字母模糊查询

antd-select拼音首字母以及汉字模糊查询 cnchar安装引入使用spell方法stroke方法 下拉框数据下拉框重写筛选函数 百度搜了很久,jQuery方法在react里会报错,终于找到了一个可以实现的第三方库cnchar。可以实现拼音首字母以及汉字模糊查询 cnchar 安装 …

用拼音输入法字典库实现同音字模糊查询

在开发各类应用管理系统中,一般都要实现各种查询功能,如何准确、快速查找到符合条件的记录,是实现各种查询功能的重点。系统的实际开发过程中,查询功能一般都是通过对字符进行比较、判断等方法来实现。我们开发一个人事管理系统中…

苹果电脑如何设置自定义模糊拼音操作?

在苹果电脑上对拼音输入法的纠正模糊拼音选项进行个性化设置,便于在使用电脑拼音输入法时,可以有效提升工作效率。那么该如何设置自定义模糊拼音操作呢?接下来小编给大家详细介绍一下具体的操作流程,需要的朋友欢迎参考操作&#…

mybatis支持拼音、汉字模糊查询

mybatis支持拼音、汉字模糊查询 <if test"Name ! null and Name ! and Name.matches([\u4e00-\u9fa5])">and NAME like concat(%,#{Name},%)</if><if test"Name ! null and Name ! and Name .matches([a-zA-Z])">and (PINYIN like con…

Android 利用AutoCompleteTextView实现模糊搜索功能,搜索结果自动提示,识别拼音首字母并转汉字提示

这里说一下怎么利用 Android 的 AutoCompleteTextView 控件实现模糊搜索功能&#xff0c;AutoCompleteTextView 自带自动提示功能。如果 对自动提示的布局自定义要求比较高&#xff0c;可以采用 EditText 和 ListView 结合实现搜索的自动提示。 先看一下效果图&#xff1a; 先…

在Mac电脑的输入法中如何开启自动纠正模糊拼音功能?

在我们使用电脑的过程中&#xff0c;有些用户习惯根据自己的日常语言习惯来输入中文&#xff0c;这就产生很多模糊的拼音&#xff0c;在手机的输入功能里都有自动纠正模糊拼音的功能&#xff0c;但在Mac电脑中要手动开启模糊拼音纠正的功能&#xff0c;下面分享Mac电脑输入法开…

【模糊检测】

模糊检测 模糊图像特点&#xff1a;边缘模糊&#xff0c;梯度变化小。 传统方法 更多方法模糊图像检测-无参考图像的清晰度评价 - 知乎 (zhihu.com) 拉普拉斯方差 从空间域出发&#xff0c;分析模糊图像的梯度比较小。拉普拉斯算子测量图像的二阶导数&#xff0c;突出显示…