Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用输入框筛选angular 2表格_Javascript_Angular - Fatal编程技术网

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
被定义为之前的值,则可能您可以更新您的筛选器以仅运行,而根本不需要运行筛选器。非常有用。谢谢!