diff --git a/src/runtime/components/elements/Link.vue b/src/runtime/components/elements/Link.vue index 98702d277e..76c96a0d32 100644 --- a/src/runtime/components/elements/Link.vue +++ b/src/runtime/components/elements/Link.vue @@ -46,6 +46,10 @@ export default defineComponent({ type: Boolean, default: null }, + active: { + type: Boolean, + default: false + }, exact: { type: Boolean, default: false @@ -65,6 +69,10 @@ export default defineComponent({ }, setup (props) { function resolveLinkClass (route, $route, { isActive, isExactActive }: { isActive: boolean, isExactActive: boolean }) { + if (props.active) { + return props.activeClass + } + if (props.exactQuery && !isEqual(route.query, $route.query)) { return props.inactiveClass } diff --git a/src/runtime/types/link.d.ts b/src/runtime/types/link.d.ts index 741dd1d8b2..535a58a31e 100644 --- a/src/runtime/types/link.d.ts +++ b/src/runtime/types/link.d.ts @@ -1,6 +1,7 @@ import type { NuxtLinkProps } from '#app' export interface Link extends NuxtLinkProps { + active?: boolean exact?: boolean exactQuery?: boolean exactMatch?: boolean