如何解决通过过滤器搜索特定列
我用* ngfor创建了表格。并在此表中放置一个搜索过滤器。代码在下面。
<tr *ngFor="let new of variables | orderBy: key: reverse | filter:term" style="width: 100%;">
<td *ngFor="let col of index" id="tablo_data">
{{new[col]}}
</td>
</tr>
此代码在整个表中进行搜索。但我想在选定的列中进行搜索。在下面输入类型代码:
<div class="form-group">
<input type="text" class="form-control" placeholder="Search Here" [(ngModel)]="term">
</div>
和术语定义:
term: string;
所有json数据定义为
variables: Variables[] = [];
解决方法
在您的情况下,过滤器将是自定义管道,并且您可以完全控制它。试试:
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(data: Array<Array<any>>,term: string,colNum: string): any {
if (term && Array.isArray(data) && colNum) {
return data.filter((row: Array<any>) => (row[colNum] as string).toUpperCase() === term.toUpperCase());
} else {
return data;
}
}
}
,
对于搜索input
,当您将模型与term
绑定时,请为要包含在搜索中的任何列添加标题数组。
<div class="form-group">
<input type="text" class="form-control" placeholder="Search Here" [(ngModel)]="term['id','Name']">
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。