【发布时间】:2021-06-04 07:44:42
【问题描述】:
(请帮忙,仍然没有解决)所以我正在关注这个stackoverflow(with mat-card)和this(with observable)来尝试解决我的问题。
我有一个对象数组的 observable,我想使用 *ngFor 和 mat-card 来显示它们,然后在页面的最底部有一个分页器。
现在,可观察对象已正确链接(因为它正在显示),但分页器似乎没有显示任何内容(pic),想知道是否有人可以提供帮助,非常感谢!
(其他功能的代码很多,所以我会尽量只列出我们需要的,如果你觉得有什么遗漏,请告诉我)
HTML:
<div *ngIf="obs| async as objects>
<div>
<div>
<mat-card *ngFor="let ob of objects"> ... </mat-card>
</div>
<mat-paginator
[showFirstLastButtons]="true"
[pageSizeOptions]="[10, 20, 50, 100]">
</mat-paginator>
</div>
TS:
旁注:filtered$ 是我用于 mat-card 的数组的原始 observable,现在我正在添加分页器,所以在 HTML 中你可以看到我更改为 obs
public dataSource = new MatTableDataSource();
@ViewChild(MatPaginator) paginator: MatPaginator;
obs: Observable<any>;
public filtered$: Observable<Array<An Object>>;
constructor(private changeDetectorRef: ChangeDetectorRef){};
ngOnInit(){
...;
this.filtered$
.pipe(takeUntil(...))
.subscribe((arr) => (this.dataSource.data = arr));
this.changeDetectorRef.detectChanges();
this.dataSource.paginator = this.paginator;
this.obs = this.dataSource.connect();
}
【问题讨论】:
-
即使我添加了
[length]="objects.length",它在分页器上显示数字,但功能不起作用
标签: angular angular-material observable paginator