gpt4 book ai didi

javascript - 为什么在输入用户输入时过滤无法正常工作?

转载 作者:太空狗 更新时间:2023-10-29 19:26:07 26 4
gpt4 key购买 nike

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 种方式绑定(bind),所以我认为这不是实现过滤的最佳方法

最佳答案

因为它期望完全匹配 - 输入全名,例如。 “测试 1”,它将提供过滤后的结果。

您可能想检查子字符串是否存在。改变这个:

return item.name.indexOf(val)!=-1

收件人:

return item.name.includes(val)

关于javascript - 为什么在输入用户输入时过滤无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50197236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com