javascript - 为什么在输入用户输入时过滤不能以角度工作?
问题描述
import { Component,OnInit } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit{
_userinput:string='';
filteritems:any[];
items:any[] = [
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
},
{
name: 'Test 1'
},
{
name: 'Test 2'
}
]
name = 'Angular 6';
get userinput(){
return this._userinput;
}
set userinput(val){
console.log('val',val);
this._userinput = val;
this.filteritems = this.items.filter((item)=>{
return item.name.indexOf(val)!=-1
})
console.log(this.filteritems);
}
ngOnInit(){
this.filteritems = this.items;
}
}
你能告诉我为什么过滤不起作用我有一个input
字段我想在输入input
字段时过滤列表
这是我的代码 https://stackblitz.com/edit/angular-9wbd1q?file=src%2Fapp%2Fapp.component.ts
您能否提供其他或最佳方式来过滤此列表目前我正在做 2 路绑定,所以我认为这不是实现过滤的最佳方式
解决方案
因为它需要完全匹配 - 输入全名,例如。“测试 1”,它将提供过滤结果。
您可能想检查子字符串是否存在。改变这个:
return item.name.indexOf(val)!=-1
至:
return item.name.includes(val)
推荐阅读
- angular - Angular - SpringBoot - CORS(未知 url):0 未知错误
- url - Readiness 和 Liveness Probe Endpoints 的 URL 应该是什么?
- java - 在 Jenkins 中运行 maven 时出现 ClassNotFoundException
- ios - 如何在选择时为 UICollectionViewCell 内容的扩展设置动画?
- javascript - 如何从工具栏拖放 mxGraph 中的自定义图像
- oracle - ACL error when trying to send mail via Oracle UTL_SMTP
- r - 将 R 中 geom_label_repel 中的“a”更改为其他内容,而不仅仅是删除它
- visual-studio-code - Visual Studio 代码版本:1:30.0 - 如何将终端输出移动到底部
- formatting - 如何在代码突出显示中为 Redmine markdown 添加换行符?
- ios - 使用 Google Proximity Beacon API 注册 iBeacon