Angular смещение по умолчанию для виртуальной прокрутки материала при прокрутке при загрузке - PullRequest
0 голосов
/ 01 мая 2020

У меня есть таблица, отображаемая с помощью angular материальной виртуальной прокрутки.

this.trs = [  ...batch, ...this.trs];
setTimeout(() => this.viewPort.scrollToIndex(100), 1000);

Я получаю данные и заполняю виртуальную прокрутку, а затем устанавливаю scrollToIndex равным 100. и появляется 100-я строка на экран.

Проблема здесь в том, что происходит прыжок, сначала при загрузке свитка он загружает 1-й ряд, а затем переходит на 100-й ряд. Есть ли способ по умолчанию установить его в сотый ряд. Так что он появляется прямо без прыжков.

Более глубокое понимание проблемы,

Это двунаправленная прокрутка, когда полоса прокрутки достигает вершины, она вызывает API и получает новые значения и добавляется в начало массива, а затем попадает в нижнюю часть. данные до дна.

Логика c хорошо работает, когда данные добавляются внизу, но полоса прокрутки перемещается при каждом добавлении данных сверху.

ИЛИ https://stackblitz.com/edit/angular-4cwieu?file=src%2Fapp%2Fapp.component.ts

Можно ли перейти к определенному индексу без этого тайм-аута?

...