angular - Angular2搜索栏无法在移动设备上运行
问题描述
我的 Angular2 前端(在 .Net 后端)有几个搜索栏来过滤对象数组。它在桌面上正常工作,甚至在 DevTools 中将设备更改为移动设备时也是如此。但是,当我发布我的应用程序并尝试使用手机上的搜索栏时,它不起作用,并且数组在视图中消失了。
我的 HTML:
<input class="form-control" type="text" placeholder="Search" [(ngModel)]="searchTerm">
<button class="btn btn-fs-orange btn-sm p-1 m-2" (click)="searchNames()">Search</button>
我的打字稿:
searchTerm: string;
searchValues: SearchValue[];
allSeearchValues: SearchValue[];
searchNames(){
let value = this.searchTerm;
this.searchValues = this.allSearchValues.filter((val) => val.searchName.toLowerCase().includes(value));
}
我最初有由 (input) 触发的功能,然后尝试 (keyup),但都没有奏效。然后我认为搜索按钮可以解决问题,但它仍然不起作用。我特别沮丧,因为我必须先发布我的应用程序才能测试更改是否有效。
解决方案
在我的函数中,我在搜索栏中的值上缺少 .toLowerCase() 。下雪了:
this.searchValues = this.allSearchValues.filter((val) => val.searchName.toLowerCase().includes(value.toLowerCase()));
推荐阅读
- python - 如何“创建环境变量文件:touch .env 进行配置(在项目根目录中)。”
- javascript - 更改登录屏幕的占位符文本
- web-crawler - 列出来自某个域的所有网站
- spring-boot - Spring Boot 应用程序不以 Maven 和空手道开头
- sql - 使用多个聚合函数查找每个组的最后一条记录 - SQLite
- kotlin - ForkJoinPool 和 Kotlin 协程
- sql - 如何通过修改现有查询得到想要的结果?
- azure - 不将 CERT 绑定到 azure 流量管理器(仅在 HTTPS 应用服务之前)主机名是否安全?
- ibm-watson - Watson 自然语言理解
- python - 如何获取包含子目录的目录中文件的文件路径?