From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/layout/components/SizeDropdown/src/SizeDropdown.vue | 40 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/src/layout/components/SizeDropdown/src/SizeDropdown.vue b/src/layout/components/SizeDropdown/src/SizeDropdown.vue
new file mode 100644
index 0000000..3e15224
--- /dev/null
+++ b/src/layout/components/SizeDropdown/src/SizeDropdown.vue
@@ -0,0 +1,40 @@
+<script lang="ts" setup>
+import { useAppStore } from '@/store/modules/app'
+
+import { propTypes } from '@/utils/propTypes'
+import { useDesign } from '@/hooks/web/useDesign'
+import { ElementPlusSize } from '@/types/elementPlus'
+
+defineOptions({ name: 'SizeDropdown' })
+
+const { getPrefixCls } = useDesign()
+
+const prefixCls = getPrefixCls('size-dropdown')
+
+defineProps({
+ color: propTypes.string.def('')
+})
+
+const { t } = useI18n()
+
+const appStore = useAppStore()
+
+const sizeMap = computed(() => appStore.sizeMap)
+
+const setCurrentSize = (size: ElementPlusSize) => {
+ appStore.setCurrentSize(size)
+}
+</script>
+
+<template>
+ <ElDropdown :class="prefixCls" trigger="click" @command="setCurrentSize">
+ <Icon :color="color" :size="18" class="cursor-pointer" icon="mdi:format-size" />
+ <template #dropdown>
+ <ElDropdownMenu>
+ <ElDropdownItem v-for="item in sizeMap" :key="item" :command="item">
+ {{ t(`size.${item}`) }}
+ </ElDropdownItem>
+ </ElDropdownMenu>
+ </template>
+ </ElDropdown>
+</template>
--
Gitblit v1.8.0