Javascript 使用输入框筛选angular 2表格
我正在尝试使用管道过滤表。 这是我的过滤器的代码Javascript 使用输入框筛选angular 2表格,javascript,angular,Javascript,Angular,我正在尝试使用管道过滤表。 这是我的过滤器的代码 从'@angular/core'导入{Pipe,PipeTransform}; @烟斗({ 名称:“myFilter” }) 导出类MyFilterPipe实现PipeTransform{ 转换(值:any,args?:any):any{ 返回值.filter(item=>item.name.indexOf(args[0])!=-1); } } 我在app.module.ts中导入了过滤器 从'./common/my filter.pipe'导
从'@angular/core'导入{Pipe,PipeTransform};
@烟斗({
名称:“myFilter”
})
导出类MyFilterPipe实现PipeTransform{
转换(值:any,args?:any):any{
返回值.filter(item=>item.name.indexOf(args[0])!=-1);
}
}
我在app.module.ts中导入了过滤器
从'./common/my filter.pipe'导入{MyFilterPipe};
@NGD模块({
声明:[
过滤管
],
这是我的HTML视图代码
搜索
...
{{item.value1}
{{item.value2}
项目.说明
当我尝试查看页面时,浏览器中出现以下错误:“无法读取未定义的属性“0”。由于筛选器,该页面不希望加载。我猜想,由于filterItem
最初为空,这会阻止页面加载。但我不知道如何解决此问题。
任何帮助都将不胜感激!谢谢
我的猜测是,由于filterItem最初是空的,因此
要加载的页面
事实上,它是未定义的
通过执行以下操作可以修复此问题:
transform(value: any, args?: any): any {
return !!args ? value.filter(item => item.name.indexOf(args[0]) !== -1) : value;
}
看起来
args
是此处未定义的值,如果args
被定义为之前的值,则可能您可以更新您的筛选器以仅运行,而根本不需要运行筛选器。非常有用。谢谢!