Angular 物料数据表过滤控制
我正在使用并试图实现对所有值的过滤。 我注意到的是,在使用MatTableDataSource时,filter只搜索传递的顶级实体,如果实体附加了相关记录,则不会搜索它 是否可以控制过滤器搜索的深度并使其能够搜索附加的相关实体 编辑1个由原理图生成的示例代码:Angular 物料数据表过滤控制,angular,angular-material,Angular,Angular Material,我正在使用并试图实现对所有值的过滤。 我注意到的是,在使用MatTableDataSource时,filter只搜索传递的顶级实体,如果实体附加了相关记录,则不会搜索它 是否可以控制过滤器搜索的深度并使其能够搜索附加的相关实体 编辑1个由原理图生成的示例代码: @ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatSort) sort: MatSort; @Input() dataSource: MatTable
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
@Input() dataSource: MatTableDataSource<TestEntity>;
/** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */
displayedColumns = ['id', 'name', 'view_related_child'];
ngOnInit() {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
applyFilter(filterValue: string) {
filterValue = filterValue.trim(); // Remove whitespace
filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches
this.dataSource.filter = filterValue;
}
export class TestEntity {
id: string;
name: string;
childEntity: ChildEntity;
}
export class ChildEntity {
childId: string;
childName: string;
childDate: string;
}
您可以将“应用过滤器”方法更改为:
applyFilter(filterValue: string) {
console.log(filterValue)
this.dataSource.filterPredicate = (data: TestEntity, filter: string) => data.childEntity.childName.indexOf(filter) != -1
filterValue = filterValue.trim();
this.dataSource.filter = filterValue
}
要根据childEntity的childName筛选数据,
您可以将“应用过滤器”方法更改为:
applyFilter(filterValue: string) {
console.log(filterValue)
this.dataSource.filterPredicate = (data: TestEntity, filter: string) => data.childEntity.childName.indexOf(filter) != -1
filterValue = filterValue.trim();
this.dataSource.filter = filterValue
}
要根据childEntity的childName筛选数据,
你检查了吗?@fatemefazli现在,在我最初的搜索中没有弹出。你能提供一些代码或stackblitz吗?@fatemefazli当然可以,但在这个阶段不会有太大帮助,使用原理图生成表格非常简单。@fatemefazli基本上我希望能够按实体孩子的数据进行过滤,你检查了吗?@fatemefazli现在,在我最初的搜索中没有弹出。你能提供一些代码或stackblitz吗。@fatemefazli当然,但在这个阶段不会有太大帮助,使用原理图生成表格非常简单。@fatemefazli基本上我希望能够通过实体childs数据tooThanks@fatemefazli进行过滤,如果您希望在相关实体中搜索多个字段,或者降低另一个级别,该怎么办?谢谢@fatemefazli,如果您希望在相关实体中搜索多个字段,或者降低另一个级别,该怎么办?