From 6a8c4d95d5908d5c2205a15ba4f14a4b1fcc5565 Mon Sep 17 00:00:00 2001 From: logan Date: Sun, 24 May 2026 15:46:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Redis/MySQL=20=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E9=AA=A8=E6=9E=B6=E5=B1=8F=20loading=20=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SchemaSidebar: MySQL 表列表加载改为 6 行骨架屏 animate-pulse - SchemaSidebar: Redis key 列表加载改为 6 行骨架屏 animate-pulse - RedisDetailPage: key 表格加载时显示 5 行骨架屏 + 加载中提示 - 替换原来的纯文字/spinner,视觉上更流畅 --- frontend/src/components/SchemaSidebar.tsx | 24 ++++++++++++++++++----- frontend/src/pages/RedisDetailPage.tsx | 17 +++++++++++++++- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/frontend/src/components/SchemaSidebar.tsx b/frontend/src/components/SchemaSidebar.tsx index 41fa9d4..b41c66b 100644 --- a/frontend/src/components/SchemaSidebar.tsx +++ b/frontend/src/components/SchemaSidebar.tsx @@ -215,8 +215,14 @@ export default function SchemaSidebar({ instanceId, database, dbType, onInsert } {/* Table List */}
{loadingTables ? ( -
- 加载中... +
+ {Array.from({ length: 6 }, (_, i) => ( +
+
+
+
+
+ ))}
) : filteredTables.length === 0 ? (
无表
@@ -311,10 +317,18 @@ export default function SchemaSidebar({ instanceId, database, dbType, onInsert } {/* Key List + Detail */}
- {redisKeys.length === 0 ? ( -
- {loadingRedis ? '扫描中...' : '无 Keys'} + {loadingRedis ? ( +
+ {Array.from({ length: 6 }, (_, i) => ( +
+
+
+
+
+ ))}
+ ) : redisKeys.length === 0 ? ( +
无 Keys
) : (
{redisKeys.map(k => ( diff --git a/frontend/src/pages/RedisDetailPage.tsx b/frontend/src/pages/RedisDetailPage.tsx index fd46cc4..f9ec823 100644 --- a/frontend/src/pages/RedisDetailPage.tsx +++ b/frontend/src/pages/RedisDetailPage.tsx @@ -137,6 +137,21 @@ export default function RedisDetailPage() { {/* 键列表 */}
+ {loading ? ( +
+ {Array.from({ length: 5 }, function (_, i) { + return
+
+
+
+
+
; + })} +
加载中...
+
+ ) : keys.length === 0 ? ( +
点击刷新加载键列表
+ ) : ( @@ -157,7 +172,7 @@ export default function RedisDetailPage() { })}
键名类型TTL操作
- {keys.length === 0 &&
点击刷新加载键列表
} + )}
)}