feat(Link): add active prop to override default behaviour (#732)

Co-authored-by: Sébastien Chopin <seb@nuxt.com>
This commit is contained in:
Benjamin Canac
2023-09-25 20:57:41 +02:00
committed by GitHub
parent 6887f732ee
commit 8257a11dcb
2 changed files with 9 additions and 0 deletions

View File

@@ -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
}

View File

@@ -1,6 +1,7 @@
import type { NuxtLinkProps } from '#app'
export interface Link extends NuxtLinkProps {
active?: boolean
exact?: boolean
exactQuery?: boolean
exactMatch?: boolean