diff --git a/src/components/Layout/BasicLayoutPage.vue b/src/components/Layout/BasicLayoutPage.vue index eea76ad6..054f54ad 100644 --- a/src/components/Layout/BasicLayoutPage.vue +++ b/src/components/Layout/BasicLayoutPage.vue @@ -5,7 +5,12 @@ v-model:collapsed="state.collapsed" v-model:selectedKeys="state.selectedKeys" :pure='state.pure' + :breadcrumb='{ routes: breadcrumb }' > + @@ -25,6 +30,7 @@ type StateType = { } const router = useRouter() +const route = useRoute() const menu = useMenuStore() @@ -43,6 +49,16 @@ const state = reactive({ selectedKeys: [], }); +const breadcrumb = computed(() => + router.currentRoute.value.matched.concat().map((item, index) => { + return { + index, + path: item.path, + breadcrumbName: item.meta.title || '' + } + }) +) + watchEffect(() => { if (router.currentRoute) { const matched = router.currentRoute.value.matched.concat() @@ -53,6 +69,14 @@ watchEffect(() => { // TODO 获取当前路由中参数,用于控制pure }) +watchEffect(() => { + if (route.query && 'layout' in route.query && route.query.layout === 'false') { + state.pure = true + } else { + state.pure = false + } +}) +