From d1576a147e9071c9f22f32860759878cc6c510f5 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Mon, 30 Oct 2023 11:27:20 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=8E=92=E5=BA=8F=E5=90=8E=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=9B=BA=E5=AE=9A=E6=BB=9A=E5=8A=A8=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/layout/dock/Files.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index a1f3021f6..90f790688 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -502,6 +502,7 @@ export class Files extends Model { if (!newUlElement) { return; } + const oldScrollTop = this.element.scrollTop; const toURL = newUlElement.getAttribute("data-url"); const toPath = newElement.getAttribute("data-path"); let gutterType = ""; @@ -649,7 +650,7 @@ export class Files extends Model { showMessage(window.siyuan.languages.emptyContent); return; } - this.onLsHTML(response.data); + this.onLsHTML(response.data, oldScrollTop); }); } }); @@ -897,7 +898,7 @@ export class Files extends Model { } } - private onLsHTML(data: { files: IFile[], box: string, path: string }) { + private onLsHTML(data: { files: IFile[], box: string, path: string }, scrollTop?: number) { let fileHTML = ""; data.files.forEach((item: IFile) => { fileHTML += this.genFileHTML(item); @@ -924,6 +925,9 @@ export class Files extends Model { item.classList.remove("file-tree__sliderDown"); item.removeAttribute("style"); }); + if (typeof scrollTop === "number") { + this.element.scroll({top: scrollTop, behavior: "smooth"}) + } }, 120); }, 2); }