Mam listę elementów DIV, które buduję za pomocą tablicy. Dostaję tę tablicę z API. Problem polega na tym, że gdy użytkownik trafi na przycisk "Załaduj więcej", a nowe elementy są dodawane do listy, pozycja strony automatycznie trafia do końca listy. Chcę, aby pozycja przewijania pozostała w poprzedniej pozycji (na końcu poprzedniej listy)

1
geekymano 9 październik 2020, 00:23

1 odpowiedź

Najlepsza odpowiedź

Wystarczy przechowywać w zmiennej pozycji rzeczywistej, po zwolnieniu przewijania do pozycji. Potrzebujesz czekać na kątowe pokaż dane, więc zamknięte przez SetimeOut Scrollto. Niektóre podobne

this.posY = window.scrollY;
dataService.getMoreData().subscribe((res:any[])=>{
    this.dataList=[...this.dataList,...res];
    setTimeout(()=>{
       window.scrollTo(0,this.posY)
    })
})
1
Eliseo 9 październik 2020, 06:21