Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
beb4c3a3
提交
beb4c3a3
authored
10月 13, 2020
作者:
nebv
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix routing switch, tab is not activated
上级
177010bf
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
35 行增加
和
19 行删除
+35
-19
BasicMenu.tsx
src/components/Menu/src/BasicMenu.tsx
+1
-2
usePage.ts
src/hooks/web/usePage.ts
+1
-0
useTabs.ts
src/hooks/web/useTabs.ts
+7
-3
Logo.vue
src/layouts/Logo.vue
+2
-2
LayoutMenu.tsx
src/layouts/default/LayoutMenu.tsx
+1
-1
index.less
src/layouts/default/index.less
+1
-1
index.tsx
src/layouts/default/multitabs/index.tsx
+21
-9
projectSetting.ts
src/settings/projectSetting.ts
+1
-1
没有找到文件。
src/components/Menu/src/BasicMenu.tsx
浏览文件 @
beb4c3a3
...
...
@@ -239,14 +239,13 @@ export default defineComponent({
)
:
(
<
section
class=
{
`basic-menu-wrap`
}
>
{
getSlot
(
slots
,
'header'
)
}
{
props
.
search
&&
(
<
SearchInput
class=
{
!
props
.
search
?
'hidden'
:
''
}
theme=
{
props
.
theme
}
onChange=
{
handleInputChange
}
onClick=
{
handleInputClick
}
collapsed=
{
getCollapsedState
}
/>
)
}
<
section
style=
{
unref
(
getMenuWrapStyle
)
}
>
<
ScrollContainer
>
{
()
=>
renderMenu
()
}
</
ScrollContainer
>
</
section
>
...
...
src/hooks/web/usePage.ts
浏览文件 @
beb4c3a3
...
...
@@ -10,6 +10,7 @@ export type RouteLocationRawEx = Omit<RouteLocationRaw, 'path'> & { path: PageEn
function
handleError
(
e
:
Error
)
{
console
.
error
(
e
);
// 101是为了 大于 打开时候设置的100延时防止闪动
setTimeout
(()
=>
{
appStore
.
commitPageLoadingState
(
false
);
},
101
);
...
...
src/hooks/web/useTabs.ts
浏览文件 @
beb4c3a3
...
...
@@ -3,6 +3,9 @@ import { PageEnum } from '/@/enums/pageEnum';
import
{
TabItem
,
tabStore
}
from
'/@/store/modules/tab'
;
import
{
appStore
}
from
'/@/store/modules/app'
;
import
router
from
'/@/router'
;
import
{
ref
}
from
'vue'
;
const
activeKeyRef
=
ref
<
string
>
(
''
);
type
Fn
=
()
=>
void
;
type
RouteFn
=
(
tabItem
:
TabItem
)
=>
void
;
...
...
@@ -70,12 +73,13 @@ export function useTabs() {
closeOther
:
()
=>
canIUseFn
()
&&
closeOther
(
tabStore
.
getCurrentTab
),
closeCurrent
:
()
=>
canIUseFn
()
&&
closeCurrent
(
tabStore
.
getCurrentTab
),
resetCache
:
()
=>
canIUseFn
()
&&
resetCache
(),
addTab
:
(
path
:
PageEnum
,
goTo
=
false
)
=>
{
addTab
:
(
path
:
PageEnum
,
goTo
=
false
,
replace
=
false
)
=>
{
useTimeout
(()
=>
{
tabStore
.
addTabByPathAction
(
path
);
},
0
);
goTo
&&
router
.
push
(
path
);
activeKeyRef
.
value
=
path
;
goTo
&&
r
eplace
?
router
.
replace
:
r
outer
.
push
(
path
);
},
activeKeyRef
,
};
}
src/layouts/Logo.vue
浏览文件 @
beb4c3a3
<
template
>
<div
class=
"app-logo"
@
click=
"handleGoHome"
>
<img
:src=
"logo"
/>
<div
v-if=
"show"
class=
"logo-title ml-
2
ellipsis"
>
{{
globSetting
.
title
}}
</div>
<div
v-if=
"show"
class=
"logo-title ml-
1
ellipsis"
>
{{
globSetting
.
title
}}
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
...
...
@@ -62,7 +62,7 @@
.logo-title
{
display
:
none
;
font-family
:
Georgia
,
serif
;
font-size
:
1
8
px
;
font-size
:
1
6
px
;
.respond-to(medium,{
display
:
block
;
}
);
...
...
src/layouts/default/LayoutMenu.tsx
浏览文件 @
beb4c3a3
...
...
@@ -193,7 +193,7 @@ export default defineComponent({
class=
"layout-menu"
theme=
{
themeData
}
showLogo=
{
isShowLogo
}
search=
{
unref
(
showSearchRef
)
}
search=
{
unref
(
showSearchRef
)
&&
!
collapsed
}
items=
{
unref
(
menusRef
)
}
flatItems=
{
unref
(
flatMenusRef
)
}
onClickSearchInput=
{
handleClickSearchInput
}
...
...
src/layouts/default/index.less
浏览文件 @
beb4c3a3
...
...
@@ -48,7 +48,7 @@
.layout-menu {
&__logo {
height: @header-height;
padding: 10px;
padding: 10px
4px
;
img {
width: @logo-width;
...
...
src/layouts/default/multitabs/index.tsx
浏览文件 @
beb4c3a3
...
...
@@ -2,7 +2,14 @@ import type { TabContentProps } from './tab.data';
import
type
{
TabItem
}
from
'/@/store/modules/tab'
;
import
type
{
AppRouteRecordRaw
}
from
'/@/router/types'
;
import
{
defineComponent
,
watch
,
computed
,
ref
,
unref
,
onMounted
}
from
'vue'
;
import
{
defineComponent
,
watch
,
computed
,
// ref,
unref
,
onMounted
,
}
from
'vue'
;
import
{
Tabs
}
from
'ant-design-vue'
;
import
TabContent
from
'./TabContent'
;
...
...
@@ -12,41 +19,43 @@ import { TabContentEnum } from './tab.data';
import
{
useRouter
}
from
'vue-router'
;
import
'./index.less'
;
import
{
tabStore
}
from
'/@/store/modules/tab'
;
import
{
closeTab
}
from
'./useTabDropdown'
;
import
router
from
'/@/router'
;
import
{
useTabs
}
from
'/@/hooks/web/useTabs'
;
import
{
PageEnum
}
from
'/@/enums/pageEnum'
;
import
'./index.less'
;
export
default
defineComponent
({
name
:
'MultiTabs'
,
setup
()
{
let
isAddAffix
=
false
;
const
go
=
useGo
();
const
{
currentRoute
}
=
useRouter
();
const
{
addTab
,
activeKeyRef
}
=
useTabs
();
onMounted
(()
=>
{
const
{
addTab
}
=
useTabs
();
addTab
(
unref
(
currentRoute
).
path
as
PageEnum
);
});
// 当前激活tab
const
activeKeyRef
=
ref
<
string
>
(
''
);
// const activeKeyRef = ref<string>('');
// 当前tab列表
const
getTabsState
=
computed
(()
=>
{
return
tabStore
.
getTabsState
;
});
watch
(
()
=>
unref
(
currentRoute
).
path
,
(
path
)
=>
{
if
(
!
isAddAffix
)
{
addAffixTabs
();
isAddAffix
=
true
;
}
activeKeyRef
.
value
=
path
;
watch
(
()
=>
unref
(
currentRoute
).
path
,
(
path
)
=>
{
if
(
activeKeyRef
.
value
!==
path
)
{
activeKeyRef
.
value
=
path
;
}
// 监听路由的话虽然可以,但是路由切换的时间会造成卡顿现象?
// 使用useTab的addTab的话,当用户手动调转,需要自行调用addTab
// tabStore.commitAddTab((unref(currentRoute) as unknown) as AppRouteRecordRaw);
...
...
@@ -55,6 +64,7 @@ export default defineComponent({
immediate
:
true
,
}
);
/**
* @description: 过滤所有固定路由
*/
...
...
@@ -72,6 +82,7 @@ export default defineComponent({
});
return
tabs
;
}
/**
* @description: 设置固定tabs
*/
...
...
@@ -87,6 +98,7 @@ export default defineComponent({
activeKeyRef
.
value
=
activeKey
;
go
(
activeKey
,
false
);
}
// 关闭当前ab
function
handleEdit
(
targetKey
:
string
)
{
// 新增操作隐藏,目前只使用删除操作
...
...
src/settings/projectSetting.ts
浏览文件 @
beb4c3a3
...
...
@@ -51,7 +51,7 @@ const setting: ProjectConfig = {
// 是否显示搜索框
showSearch
:
true
,
// 菜单宽度
menuWidth
:
20
0
,
menuWidth
:
18
0
,
// 菜单模式
mode
:
MenuModeEnum
.
INLINE
,
// 菜单类型
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论