确认需要过滤的数据是否正确地绑定到mat-table的数据源中。
确认MatTableModule已正确地导入到应用程序模块中。
确认mat-table中使用的dataSource实现了MatTableDataSource。dataSource需要实现filter属性,它将用于定义过滤器逻辑。
示例代码:
import { MatTableDataSource } from '@angular/material/table';
@Component({
selector: 'app-my-table-component',
templateUrl: './my-table-component.html',
styleUrls: ['./my-table-component.css']
})
export class MyTableComponent {
dataSource = new MatTableDataSource
// 在ngOnInit方法中添加示例数据源。 ngOnInit() { this.dataSource.data = [{ id: 1, name: '张三', age: 28, email: 'zhangsan@example.com' }, { id: 2, name: '李四', age: 32, email: 'lisi@example.com' }, { id: 3, name: '王五', age: 25, email: 'wangwu@example.com' } ]; }
// 定义示例的过滤器方法。 applyFilter(filterValue: string) { this.dataSource.filter = filterValue.trim().toLowerCase(); } }
在HTML模板中添加文本框和按钮,在文本框中输入过滤关键字,当用户单击按钮时应用一个过滤器方法。
示例代码:
在这个简单的示例中,数据源是一个对象数组,而过滤是适用低图库(MatTableDataSource)内置属性的纯前端过滤,可以很容易地从输入的值中得出结果。