Prechádzať zdrojové kódy

feat: support logo text slot (#5872)

* 基础布局中的LOGO的文字区域允许通过插槽logo-text定制
Netfan 5 mesiacov pred
rodič
commit
d216fdca44

+ 7 - 6
packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue

@@ -55,12 +55,13 @@ withDefaults(defineProps<Props>(), {
         :size="logoSize"
         class="relative rounded-none bg-transparent"
       />
-      <span
-        v-if="!collapsed"
-        class="text-foreground truncate text-nowrap font-semibold"
-      >
-        {{ text }}
-      </span>
+      <template v-if="!collapsed">
+        <slot name="text">
+          <span class="text-foreground truncate text-nowrap font-semibold">
+            {{ text }}
+          </span>
+        </slot>
+      </template>
     </a>
   </div>
 </template>

+ 10 - 2
packages/effects/layouts/src/basic/layout.vue

@@ -228,7 +228,11 @@ const headerSlots = computed(() => {
         :text="preferences.app.name"
         :theme="showHeaderNav ? headerTheme : theme"
         @click="clickLogo"
-      />
+      >
+        <template v-if="$slots['logo-text']" #text>
+          <slot name="logo-text"></slot>
+        </template>
+      </VbenLogo>
     </template>
     <!-- 头部区域 -->
     <template #header>
@@ -310,7 +314,11 @@ const headerSlots = computed(() => {
         v-if="preferences.logo.enable"
         :text="preferences.app.name"
         :theme="theme"
-      />
+      >
+        <template v-if="$slots['logo-text']" #text>
+          <slot name="logo-text"></slot>
+        </template>
+      </VbenLogo>
     </template>
 
     <template #tabbar>