1 parent
d25ec80de8
commit
7967654988
2 files changed
+10
-7
No files matched your search
@@ -16,19 +16,22 @@ export function useBreadcrumbs() {
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
const breadcrumbs = computed<Breadcrumb[]>(() => {
|
const breadcrumbs = computed<Breadcrumb[]>(() => {
|
||||||
const matched = route.matched.filter((record) => record.meta.breadcrumb)
|
const matched = route.matched.filter((record) => {
|
||||||
|
return record.meta.breadcrumb
|
||||||
|
})
|
||||||
|
|
||||||
return matched.map((record, index) => {
|
const paths = matched.map((record, index): Breadcrumb => {
|
||||||
const { breadcrumb } = record.meta
|
const { breadcrumb } = record.meta
|
||||||
const title = typeof breadcrumb === 'function' ? breadcrumb(route) : (breadcrumb as string)
|
const title = typeof breadcrumb === 'function' ? breadcrumb(route) : (breadcrumb as string)
|
||||||
const isLast = index === matched.length - 1
|
const isLast = index === matched.length - 1
|
||||||
const to =
|
const to = !isLast && record.name ? router.resolve({ name: record.name, params: route.params }).path : undefined
|
||||||
!isLast && record.name
|
|
||||||
? router.resolve({ name: record.name, params: route.params }).path
|
|
||||||
: undefined
|
|
||||||
|
|
||||||
return { title, to, disabled: isLast }
|
return { title, to, disabled: isLast }
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const value: Breadcrumb[] = []
|
||||||
|
value.push({ title: 'Home', to: '/', disabled: paths.length === 0 })
|
||||||
|
return value.concat(paths)
|
||||||
})
|
})
|
||||||
|
|
||||||
return { breadcrumbs }
|
return { breadcrumbs }
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ const fluid = computed(() => {
|
|||||||
<app-breadcrumbs />
|
<app-breadcrumbs />
|
||||||
</div>
|
</div>
|
||||||
<div class="layout-content">
|
<div class="layout-content">
|
||||||
<slot></slot>
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
</v-container>
|
</v-container>
|
||||||
</v-main>
|
</v-main>
|
||||||
|
|||||||
Reference in new issue
Block a user