Skip to content

Commit c56f019

Browse files
authored
feat: add hyperlinks to the menu, support right-click to open the page (#2342)
1 parent ade6d45 commit c56f019

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

examples/sites/src/views/layout/layout.vue

+19-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
@collapse-change="collapseChange"
1616
>
1717
<template #default="{ data }">
18-
<div class="node-name-container">
18+
<a @click="clickMenuLink" :href="getMenuLink(data)" class="node-name-container">
1919
<tiny-tag v-if="data?.mode?.includes('mobile-first')" size="mini" effect="plain" class="absolute-tag"
2020
>多端</tiny-tag
2121
>
@@ -35,7 +35,7 @@
3535
:is-from-menu="true"
3636
>
3737
</version-tip>
38-
</div>
38+
</a>
3939
</template>
4040
</tiny-tree-menu>
4141
</div>
@@ -124,6 +124,16 @@ export default defineComponent({
124124
}
125125
}
126126
127+
const getMenuLink = (menu) => {
128+
if (menu.type === 'overview') {
129+
return `${import.meta.env.VITE_CONTEXT}${allPath}${lang}/${theme}/overview`
130+
} else if (menu.type === 'docs') {
131+
return getTo('docs/', menu.key)
132+
} else if (menu.type === 'components') {
133+
return getTo('components/', menu.key)
134+
}
135+
}
136+
127137
const collapseChange = (isCollapsed) => {
128138
state.isCollapsed = isCollapsed
129139
}
@@ -168,6 +178,10 @@ export default defineComponent({
168178
routerCbDestroy()
169179
})
170180
181+
const clickMenuLink = (e) => {
182+
e.preventDefault()
183+
}
184+
171185
return {
172186
...toRefs(state),
173187
appData,
@@ -179,6 +193,8 @@ export default defineComponent({
179193
apiModeState,
180194
apiModeFn,
181195
templateModeState,
196+
getMenuLink,
197+
clickMenuLink,
182198
getWord,
183199
i18nByKey,
184200
isThemeSaas
@@ -299,6 +315,7 @@ export default defineComponent({
299315
line-height: 1.5;
300316
301317
.node-name-container {
318+
color: #191919;
302319
display: flex;
303320
align-items: center;
304321
flex-wrap: nowrap;

0 commit comments

Comments
 (0)