1

我想在 matTable 中为“移动滚动到顶部”创建一个按钮,但我没有得到它。

<mat-table  #table [dataSource]="dataSource 
   (scroll)="onTableScroll($event)">

      <!--table data -->
</mat-table>

<button (click)="scrollToTop()>Test</button>

//typescript
@ViewChild('table') table: ElementRef;

scrollToTop() {
       this.table.nativeElement.scrollIntoView(true);
}

但它不起作用,nativeElement不是MatTable的元素,我该怎么办?

4

1 回答 1

2

您已经接近解决方案,您只缺少一件小事。您需要告诉ViewChild您要从选择器中读取哪个标记。在您的情况下ElementRef,通过以{ read: ElementRef }.

@ViewChild('table', {read: ElementRef}) table: ElementRef;

是一个堆栈闪电战,展示了它的实际效果。

于 2019-02-28T10:01:40.233 回答