Я использую таблицу в своем угловом коде 6. Количество строк исчисляется сотнями.Поэтому я использовал infinityScroll (плагин).Таким образом, моя полоса прокрутки связана с таблицей, т.е. с таблицей, а не со страницей.Я использую сортировку в столбце ALERT TYPE, поэтому всякий раз, когда я буду выполнять сортировку, я хочу, чтобы моя таблица приходила в положение [0,0], т.е. операция сортировки приведет к тому, что таблица вернется в исходное положение (верхняя часть таблицы).
Я использовал ViewportScroller импорт из @ angular / common.Поэтому, когда я использовал его метод getScrollPosition (), он дал мне вывод всей страницы, а не позиции прокрутки таблицы.Помоги мне.Мне нужна позиция прокрутки в таблице, показанной ниже.
<table class="table table_view_land alertable" matSort
(matSortChange)="sortData($event);">
<thead *ngIf="tableShowFlag">
<tr>
<th></th>
<th></th>
<th mat-sort-header="name">Alert Type
</th>
<th>DESCRIPTION</th>
<th>status</th>
<th>last Modified</th>
<th>attachments</th>
<th>people</th>
<th>action</th>
</tr>
</thead>
<tbody class='main-panel'
infiniteScroll
[infiniteScrollDistance]="2"
[infiniteScrollUpDistance]="1.5"
[infiniteScrollThrottle]="100"
[infiniteScrollContainer]= "selector"
[fromRoot]="true"
(scrolled)="onScrollDown()"
(scrolledUp)="onScrollUp()" *ngIf='tableData'>
<tr *ngFor="let data of sortedData">
<td>{{data.subject}}</td>
<td>{{data.description}}</td>
<td>{{data.caseStatusName}}</td>
<td>{{data.lastupdate | date : "short" }}</td>
<td>{{data.activityContentPath.length}}</td>
<td>{{data.watcherCount}}</td>
<td>Windows 10 Pro</td>
</tr>
<div class="spinLoader" [ng2-loading]="showSpinScroll" [config]="loadingConfig" align="center">
<!-- <mat-progress-spinner *ngIf="showSpinScroll" class="example-margin" [color]="color" [mode]="mode" [diameter]='diameter'>
</mat-progress-spinner> -->
</div>
</tbody>
</table>
Я попытался решить собственную проблему и застрял в ней.Я думаю, что мое решение находится внутри этого кода ниже.
static ngInjectableDef: defineInjectable({
providedIn: 'root',
factory: () => new BrowserViewportScroller(inject(DOCUMENT), window)
})
abstract setOffset(offset: [number, number] | (() => [number, number])): void
abstract getScrollPosition(): [number, number]
abstract scrollToPosition(position: [number, number]): void
abstract scrollToAnchor(anchor: string): void
abstract setHistoryScrollRestoration(scrollRestoration: 'auto' | 'manual'): void