From c630f04194fbe467a6e979064d1a004e5684d65c Mon Sep 17 00:00:00 2001
From: lyt <1105290566@qq.com>
Date: Fri, 29 Apr 2022 22:57:31 +0800
Subject: [PATCH] =?UTF-8?q?'admin-22.04.29:=E4=BC=98=E5=8C=96=E6=BB=9A?=
=?UTF-8?q?=E5=8A=A8=E6=9D=A1=E9=97=AE=E9=A2=98=E5=8F=8A=E6=9B=BF=E6=8D=A2?=
=?UTF-8?q?pinia=E5=90=8E=E7=9A=84bug'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CHANGELOG.md | 1 +
src/layout/component/aside.vue | 30 +++++++--------
src/layout/component/columnsAside.vue | 32 ++++++++--------
src/layout/component/main.vue | 47 ++++++++++++++++--------
src/layout/navBars/tagsView/tagsView.vue | 14 +++++--
src/layout/routerView/iframes.vue | 2 +-
src/layout/routerView/link.vue | 2 +-
src/layout/routerView/parent.vue | 8 +---
src/router/route.ts | 4 +-
9 files changed, 80 insertions(+), 60 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f9824be..d9ade77 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@
- 🎯 优化 地址栏有参数退出登录,再次登录不跳之前界面问题 `src/layout/navBars/breadcrumb/user.vue`
- 🎯 优化 `SvgIcon` 组件,防止 `开启 Tagsview 图标` 时,`tagsView 右键菜单关闭` 报错问题
- 🎯 优化 [wangEditor](https://www.wangeditor.com/) 更新到 v5,[vue3 版本线上示例中 wangeditor 富文本编辑器 demo 实例,无法换行#I5565B](https://gitee.com/lyt-top/vue-next-admin/issues/I5565B),感谢@[jenchih](https://gitee.com/jenchih)
+- 🎯 优化 [在关闭 tagview 时,高度刷新时会会变化,出现滚动条](https://gitee.com/lyt-top/vue-next-admin/issues/I55FHM),感谢[张松](https://gitee.com/zs310071113)
- 🎉 新增 [vuex](https://vuex.vuejs.org/) 替换成 [pinia](https://pinia.vuejs.org/getting-started.html)
- 🎉 新增 tagsView 支持自定义 tagsView 名称(文章详情时有用),前往体验:[路由参数/普通路由](https://lyt-top.gitee.io/vue-next-admin-preview/#/params/common)
- 🐞 修复 适配 `"element-plus": "^2.1.9"` 版本
diff --git a/src/layout/component/aside.vue b/src/layout/component/aside.vue
index dcad93c..d4ee363 100644
--- a/src/layout/component/aside.vue
+++ b/src/layout/component/aside.vue
@@ -57,18 +57,12 @@ export default defineComponent({
} else {
if (layout === 'columns') {
// 分栏布局,菜单收起时宽度给 1px
- if (isCollapse) {
- return [asideBrColor, 'layout-aside-pc-1'];
- } else {
- return [asideBrColor, 'layout-aside-pc-220'];
- }
+ if (isCollapse) return [asideBrColor, 'layout-aside-pc-1'];
+ else return [asideBrColor, 'layout-aside-pc-220'];
} else {
// 其它布局给 64px
- if (isCollapse) {
- return [asideBrColor, 'layout-aside-pc-64'];
- } else {
- return [asideBrColor, 'layout-aside-pc-220'];
- }
+ if (isCollapse) return [asideBrColor, 'layout-aside-pc-64'];
+ else return [asideBrColor, 'layout-aside-pc-220'];
}
}
});
@@ -122,11 +116,17 @@ export default defineComponent({
}
});
// 监听vuex值的变化,动态赋值给菜单中
- watch(pinia.state, (val) => {
- let { layout, isClassicSplitMenu } = val.themeConfig.themeConfig;
- if (layout === 'classic' && isClassicSplitMenu) return false;
- setFilterRoutes();
- });
+ watch(
+ pinia.state,
+ (val) => {
+ let { layout, isClassicSplitMenu } = val.themeConfig.themeConfig;
+ if (layout === 'classic' && isClassicSplitMenu) return false;
+ setFilterRoutes();
+ },
+ {
+ deep: true,
+ }
+ );
// 页面加载前
onBeforeMount(() => {
initMenuFixed(document.body.clientWidth);
diff --git a/src/layout/component/columnsAside.vue b/src/layout/component/columnsAside.vue
index 7d20c3c..7fd7806 100644
--- a/src/layout/component/columnsAside.vue
+++ b/src/layout/component/columnsAside.vue
@@ -61,7 +61,6 @@ interface ColumnsAsideState {
liOldPath: null | string;
difference: number;
routeSplit: string[];
- isNavHover: boolean;
}
export default defineComponent({
@@ -84,7 +83,6 @@ export default defineComponent({
liOldPath: null,
difference: 0,
routeSplit: [],
- isNavHover: false,
});
// 设置菜单高亮位置移动
const setColumnsAsideMove = (k: number) => {
@@ -107,7 +105,6 @@ export default defineComponent({
proxy.mittBus.emit('setSendColumnsChildren', setSendChildren(path));
stores.setColumnsMenuHover(false);
stores.setColumnsNavHover(true);
- state.isNavHover = true;
};
// 鼠标移走时,显示原来的子级菜单
const onColumnsAsideMenuMouseleave = async () => {
@@ -116,7 +113,6 @@ export default defineComponent({
setTimeout(() => {
if (!isColumnsMenuHover && !isColumnsNavHover) proxy.mittBus.emit('restoreDefault');
}, 100);
- // state.isNavHover = false;
};
// 设置高亮动态位置
const onColumnsAsideDown = (k: number) => {
@@ -169,17 +165,23 @@ export default defineComponent({
}, 0);
};
// 监听布局配置信息的变化,动态增加菜单高亮位置移动像素
- watch(pinia.state, (val) => {
- val.themeConfig.themeConfig.columnsAsideStyle === 'columnsRound' ? (state.difference = 3) : (state.difference = 0);
- if (!val.routesList.isColumnsMenuHover && !val.routesList.isColumnsNavHover) {
- state.liHoverIndex = null;
- proxy.mittBus.emit('setSendColumnsChildren', setSendChildren(route.path));
- } else {
- state.liHoverIndex = state.liOldIndex;
- if (!state.liOldPath) return false;
- proxy.mittBus.emit('setSendColumnsChildren', setSendChildren(state.liOldPath));
+ watch(
+ pinia.state,
+ (val) => {
+ val.themeConfig.themeConfig.columnsAsideStyle === 'columnsRound' ? (state.difference = 3) : (state.difference = 0);
+ if (!val.routesList.isColumnsMenuHover && !val.routesList.isColumnsNavHover) {
+ state.liHoverIndex = null;
+ proxy.mittBus.emit('setSendColumnsChildren', setSendChildren(route.path));
+ } else {
+ state.liHoverIndex = state.liOldIndex;
+ if (!state.liOldPath) return false;
+ proxy.mittBus.emit('setSendColumnsChildren', setSendChildren(state.liOldPath));
+ }
+ },
+ {
+ deep: true,
}
- });
+ );
// 页面加载时
onMounted(() => {
setFilterRoutes();
@@ -256,7 +258,7 @@ export default defineComponent({
}
}
.layout-columns-active {
- color: var(--el-color-white) !important;
+ color: var(--next-bg-columnsMenuBarColor) !important;
transition: 0.3s ease-in-out;
}
.layout-columns-hover {
diff --git a/src/layout/component/main.vue b/src/layout/component/main.vue
index abb2b60..b88fda8 100644
--- a/src/layout/component/main.vue
+++ b/src/layout/component/main.vue
@@ -1,18 +1,26 @@
-
+