diff --git a/src/runtime/inertia/components/Link.vue b/src/runtime/inertia/components/Link.vue index 566d2e87da..cf34f0df50 100644 --- a/src/runtime/inertia/components/Link.vue +++ b/src/runtime/inertia/components/Link.vue @@ -95,6 +95,7 @@ const ui = computed(() => tv({ })) const isExternal = computed(() => { + if (props.external) return true if (!props.to) return false return typeof props.to === 'string' && hasProtocol(props.to, { acceptRelative: true }) }) @@ -110,14 +111,14 @@ const linkClass = computed(() => { }) const page = usePage() -const url = computed(() => props.to ?? props.href ?? '#') +const url = computed(() => props.to ?? props.href ?? '') -const isActive = computed(() => props.active || (props.exact ? url.value === props.href : page?.url.startsWith(url.value))) +const isActive = computed(() => props.active || (!!url.value && (props.exact ? url.value === props.href : page?.url.startsWith(url.value))))