博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ionic -- 实现根据拼音字母搜索人员
阅读量:2497 次
发布时间:2019-05-11

本文共 2244 字,大约阅读时间需要 7 分钟。

  看到小咸儿完成这个任务,心情十分亢奋啊!但是是基于先把拼音与中文转换的node包下载下来。

  首先先说一下小咸儿这个问题的思路:

  • 1.将所有人的姓名先查询出来
  • 2.将汉字名字转换成拼音
  • 3.获取输入框中值对中文名字或拼音名字进行匹配,查询出对应的人员

  首先将所有人员查询出来是一个简单的功能:

代码:

getData() {    this.companyId = localStorage.getItem('companyId');    // let dataUrl = "http://192.168.22.52/auth-web/user/queryUsersByLike/666888?page=1&limit=550";    let dataUrl = "http://192.168.22.55/auth-web/user/queryUserInfoByCompanyId/" + this.companyId;    this.http.get(dataUrl).subscribe(      res => {        // 若查询不成功,则返回并清空缓存        // if (res.status != 200) {        //   localStorage.removeItem(" ");        //   return;        // }        // this.user = res.json().data;        if (res.json().code == '0000') {          if (res.json().data.length > 0) {            this.user = res.json().data;          } else {            return;          }        }      }    )  }

在这里插入图片描述

  将所有人员查出来之后,需要的就是将所有的人员名字转成拼音了,在上一篇小咸儿的博客中有介绍如何在前端将汉字转为拼音,十分的简单!

  其中还有一个小技巧,就是使用split去掉空格

initializeItems() {    this.items = this.user;    for(let i=0; i

在这里插入图片描述

  重点来了,既然汉字名字和拼音名字都有了,那么就需要去匹配查询了。

// 搜索  getItems(ev) {    var s = document.querySelector('.loadUser');    s['style'].display = 'inline';    var s = document.querySelector('.classBtnOk');    s['style'].display = 'inline';    //如果搜索框的值为undefined,则显示加载数据    if (ev.target.value == undefined) {      var s = document.querySelector('.classBtnOk');      s['style'].display = 'none';    }    // Reset items back to all of the items    this.initializeItems();    // set val to the value of the ev target    const val = ev.target.value;    // if the value is an empty string don't filter the items    if (val && val.trim() != '') {      this.items = this.items.filter((item) => {                // 如果有数据,则不显示没有数据span        if (item.userName.toLowerCase().indexOf(val.toLowerCase()) > -1 || item.pinYinName.toLowerCase().indexOf(val.toLowerCase()) > -1) {          var s = document.querySelector('.loadUser');          s['style'].display = 'inline';        }        return (item.userName.toLowerCase().indexOf(val.toLowerCase()) > -1,item.pinYinName.toLowerCase().indexOf(val.toLowerCase()) > -1);//(item.toLowerCase().indexOf(val.toLowerCase()) > -1)      })    }    else {      this.items = null;    }  }

在这里插入图片描述

  这样小咸儿的根据拼音字母查询人员就完成了,()。接下来就是去看看还有什么地方需要优化了。

转载地址:http://wcerb.baihongyu.com/

你可能感兴趣的文章
JAVA中ACTION层, SERVICE层 ,MODLE层 和 DAO层的功能区分
查看>>
动态网页开发基础
查看>>
ATM + 购物商城程序
查看>>
x64 stack walking、调用约定、函数参数识别
查看>>
Hibernate查询
查看>>
(转)swc与swf的区别
查看>>
(转)AS3中的stage,this,root的区别
查看>>
PHP连接PGSQL
查看>>
网络阅读开篇
查看>>
详解-制作根文件系统,并使用yaffs,jffs,nfs挂载系统(2)
查看>>
细细讲述Java技术开发的那些不为人知的规则
查看>>
检查 Linux 服务器性能
查看>>
Servlet交互【重定向 与 请求分派】详解
查看>>
异或特性
查看>>
winform绑定多张图片
查看>>
微信小程序的页面渲染(if/for)
查看>>
spring boot 读取 application.properties 初始化bean
查看>>
.net Excel导出出现乱码及excel打开出现错误提示
查看>>
SparkStreaming
查看>>
面向对象 - 继承/组合 - 总结
查看>>