diff --git a/src/composables/useBreadcrumbs.ts b/src/composables/useBreadcrumbs.ts index 90a5304..03456f2 100644 --- a/src/composables/useBreadcrumbs.ts +++ b/src/composables/useBreadcrumbs.ts @@ -16,19 +16,22 @@ export function useBreadcrumbs() { const router = useRouter() const breadcrumbs = computed(() => { - 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 title = typeof breadcrumb === 'function' ? breadcrumb(route) : (breadcrumb as string) const isLast = index === matched.length - 1 - const to = - !isLast && record.name - ? router.resolve({ name: record.name, params: route.params }).path - : undefined + const to = !isLast && record.name ? router.resolve({ name: record.name, params: route.params }).path : undefined return { title, to, disabled: isLast } }) + + const value: Breadcrumb[] = [] + value.push({ title: 'Home', to: '/', disabled: paths.length === 0 }) + return value.concat(paths) }) return { breadcrumbs } diff --git a/src/layouts/DefaultLayout.vue b/src/layouts/DefaultLayout.vue index fbb7043..268e821 100644 --- a/src/layouts/DefaultLayout.vue +++ b/src/layouts/DefaultLayout.vue @@ -109,7 +109,7 @@ const fluid = computed(() => {
- +