From 0abbe39d2fcd219f341b93fcdbd4de64db77e155 Mon Sep 17 00:00:00 2001 From: kkerwin Date: Wed, 29 Nov 2023 08:16:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/src/app/pages/data-vis/data-vis.component.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/projects/client/src/app/pages/data-vis/data-vis.component.ts b/projects/client/src/app/pages/data-vis/data-vis.component.ts index 28cb440..18ba50d 100644 --- a/projects/client/src/app/pages/data-vis/data-vis.component.ts +++ b/projects/client/src/app/pages/data-vis/data-vis.component.ts @@ -1,7 +1,7 @@ import { AfterViewInit, Component, ElementRef, Renderer2, ViewChild } from "@angular/core"; import { ApiService } from "@cdk/services"; import { format } from "date-fns"; -import { Subject, finalize, interval, takeUntil } from "rxjs"; +import { Subject, Subscription, finalize, interval, takeUntil } from "rxjs"; interface MenuDisplayItem { name: string; @@ -138,7 +138,10 @@ export class DataVisComponent implements AfterViewInit { }); } + scrollSubs$?: Subscription; + autoScroll(el: HTMLElement, scroll: string) { + this.scrollSubs$?.unsubscribe(); const child = el.children[0]; if (!child) { return; @@ -148,7 +151,7 @@ export class DataVisComponent implements AfterViewInit { if (childHeight <= elHeight) { return; } - interval(60) + this.scrollSubs$ = interval(60) .pipe(takeUntil(this.destroy$)) .subscribe(() => { this.scroll[scroll] = (this.scroll[scroll] ?? 0) + 1;