这是我的业余爱好项目,由于这个问题它已经被卡住了一段时间。这可能是一个简单的问题,但我对 Angular 和 JS 的了解相当有限。不过我的代码在下面(我已经缩短了一点)并且它在某种程度上起作用了。它从服务器获取数据,然后在客户端显示。那里没有问题,但是现在当我尝试进行客户端过滤时,什么也没有发生。字面上地。我正在输入过滤器输入框,什么也没有。不过滤表行。
我想知道这里有两件事:
MyData.ts
export interface MyData {
id: number;
description: string;
}
Run Code Online (Sandbox Code Playgroud)
MyData.service.ts
export class MyService {
constructor(private http: HttpClient) { }
getData(): Observable<MyData[]> {
return this.http.get...
}
}
Run Code Online (Sandbox Code Playgroud)
MyData.datasource.ts
export class MyDataSource extends MatTableDataSource<MyData> {
private mySubject = new BehaviorSubject<MyData[]>([]);
constructor(private myService: MyService) { super(); }
loadData() {
this.myService.getData()
.pipe(catchError(() => of([])))
.subscribe(data => this.mySubject.next(data));
}
connect(): BehaviorSubject<myData[]> {
return this.mySubject;
}
disconnect(): void {
this.mySubject.complete();
}
}
Run Code Online (Sandbox Code Playgroud)
MyData.component.ts
export …Run Code Online (Sandbox Code Playgroud) rxjs angular-material2 angular angular-cdk angular-material-6