From a539c77236f3b2a37ab3e64e17d070d25865d0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=BB=8D=E5=BA=B7?= <3052147989@qq.com> Date: Thu, 5 Mar 2026 19:55:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=9D=99=E9=BB=98=E5=88=B7=E6=96=B0=20+?= =?UTF-8?q?=20requestAnimationFrame=20=E6=81=A2=E5=A4=8D=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit forceRefresh 时不显示 loading(保持旧内容避免 scrollTop 重置) 用 requestAnimationFrame 确保 DOM 渲染后恢复滚动位置 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- static/js/features/groups.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/static/js/features/groups.js b/static/js/features/groups.js index 212976d..4def105 100644 --- a/static/js/features/groups.js +++ b/static/js/features/groups.js @@ -166,7 +166,10 @@ return; } - container.innerHTML = '
'; + // forceRefresh 时不显示 loading(保持旧内容,静默刷新) + if (!forceRefresh) { + container.innerHTML = ''; + } try { const response = await fetch(`/api/accounts?group_id=${groupId}`); @@ -178,7 +181,7 @@ renderAccountList(data.accounts); // 恢复滚动位置 if (forceRefresh) { - container.scrollTop = savedScrollTop; + requestAnimationFrame(() => { container.scrollTop = savedScrollTop; }); } } } catch (error) {