From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/components/DiyEditor/components/mobile/TabBar/index.vue | 66 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/src/components/DiyEditor/components/mobile/TabBar/index.vue b/src/components/DiyEditor/components/mobile/TabBar/index.vue
new file mode 100644
index 0000000..44ba43c
--- /dev/null
+++ b/src/components/DiyEditor/components/mobile/TabBar/index.vue
@@ -0,0 +1,66 @@
+<template>
+ <div class="tab-bar">
+ <div
+ class="tab-bar-bg"
+ :style="{
+ background:
+ property.style.bgType === 'color'
+ ? property.style.bgColor
+ : `url(${property.style.bgImg})`,
+ backgroundSize: '100% 100%',
+ backgroundRepeat: 'no-repeat'
+ }"
+ >
+ <div v-for="(item, index) in property.items" :key="index" class="tab-bar-item">
+ <el-image :src="index === 0 ? item.activeIconUrl : item.iconUrl">
+ <template #error>
+ <div class="h-full w-full flex items-center justify-center">
+ <Icon icon="ep:picture" />
+ </div>
+ </template>
+ </el-image>
+ <span :style="{ color: index === 0 ? property.style.activeColor : property.style.color }">
+ {{ item.text }}
+ </span>
+ </div>
+ </div>
+ </div>
+</template>
+<script setup lang="ts">
+import { TabBarProperty } from './config'
+
+/** 椤甸潰搴曢儴瀵艰埅鏍� */
+defineOptions({ name: 'TabBar' })
+
+defineProps<{ property: TabBarProperty }>()
+</script>
+<style lang="scss" scoped>
+.tab-bar {
+ z-index: 2;
+ width: 100%;
+
+ .tab-bar-bg {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-around;
+ padding: 8px 0;
+
+ .tab-bar-item {
+ display: flex;
+ width: 100%;
+ font-size: 12px;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+
+ :deep(img),
+ .el-icon {
+ width: 26px;
+ height: 26px;
+ border-radius: 4px;
+ }
+ }
+ }
+}
+</style>
--
Gitblit v1.8.0