From 969e5d93bfbf51219aa20b4337c1afdacc07225f Mon Sep 17 00:00:00 2001 From: sugar1569 Date: Wed, 23 Sep 2026 19:15:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(theme-select):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E8=8F=9C=E5=8D=95=E5=B1=95=E5=BC=80=E6=8A=96?= =?UTF-8?q?=E5=8A=A8=E5=8F=8A=E4=B8=BB=E9=A2=98=E5=BC=B9=E7=AA=97=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复二级菜单展开时因 margin 导致的高度突变抖动问题,通过为内联菜单添加 flow-root 确保 BFC 包含 margin;优化主题弹窗交互,新增搜索清空、加载状态、空状态提示,统一使用设计变量替换硬编码颜色值,调整样式细节提升视觉一致性。 --- .../theme/components/themeSelect/index.vue | 216 +++++++++++------- frontend/admin/src/theme/element.scss | 8 + 2 files changed, 141 insertions(+), 83 deletions(-) diff --git a/frontend/admin/src/diy/pages/theme/components/themeSelect/index.vue b/frontend/admin/src/diy/pages/theme/components/themeSelect/index.vue index 1d58d7d0e..277bfda9c 100644 --- a/frontend/admin/src/diy/pages/theme/components/themeSelect/index.vue +++ b/frontend/admin/src/diy/pages/theme/components/themeSelect/index.vue @@ -3,7 +3,7 @@ v-model="dialogVisible" width="1188px" top="5vh" - custom-class="theme-dialog" + class="theme-dialog" :show-close="false" append-to-body :modal="true" @@ -44,20 +44,25 @@ v-model="searchKeyword" placeholder="请输入主题名称" suffix-icon="Search" + clearable + @clear="searchTheme" @change="searchTheme" > -
+
-
+
新建空白主题
+ +
未找到相关主题,换个关键词试试
+
@@ -85,8 +90,8 @@
修改时间:{{ theme.up_time }}
-
查看详情
-
使用主题
+
查看详情
+
使用主题
@@ -134,7 +139,7 @@
- 使用主题 + 使用主题
@@ -143,6 +148,7 @@
主题图片
+
{{ opt.label }}
{ - themes.value = res.data.list; - total.value = res.data.count; - }); + loading.value = true; + getThemeList(reqData) + .then((res) => { + themes.value = res.data.list; + total.value = res.data.count; + }) + .finally(() => { + loading.value = false; + }); } function handlePageChange(val) { @@ -352,23 +364,8 @@ function searchTheme() { + + diff --git a/frontend/admin/src/theme/element.scss b/frontend/admin/src/theme/element.scss index 14840c938..babbf8fca 100644 --- a/frontend/admin/src/theme/element.scss +++ b/frontend/admin/src/theme/element.scss @@ -394,6 +394,14 @@ text-decoration: none; } +// 二级菜单展开抖动修复:EP 的 ElCollapseTransition 动画在 overflow visible/hidden 间切换, +// .columns-round 给菜单项加的 margin 在 visible 时向外塌陷、hidden 时被包含,导致 scrollHeight +// 测量值与实际内容高度不一致,动画起止瞬间高度突变(肉眼可见的上跳)。 +// flow-root 让内联子菜单始终成为 BFC,margin 全程被包含,三者高度一致;间隙视觉不变。 +.layout-aside .el-menu .el-menu--inline { + display: flow-root; +} + // 菜单收起时鼠标经过背景颜色/字体颜色 .el-menu--vertical { background: var(--prev-bg-menuBar) !important;