From 64d172717748c383a5c88348037354bffd60f966 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 27 五月 2025 17:52:03 +0800 Subject: [PATCH] 页面样式修改 --- src/layout/components/Sidebar/Link.vue | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..8011431 --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,40 @@ +<template> + <component :is="type" v-bind="linkProps()"> + <slot /> + </component> +</template> + +<script setup> +import { isExternal } from '@/utils/validate' + +const props = defineProps({ + to: { + type: [String, Object], + required: true + } +}) + +const isExt = computed(() => { + return isExternal(props.to) +}) + +const type = computed(() => { + if (isExt.value) { + return 'a' + } + return 'router-link' +}) + +function linkProps() { + if (isExt.value) { + return { + href: props.to, + target: '_blank', + rel: 'noopener' + } + } + return { + to: props.to + } +} +</script> -- Gitblit v1.9.3