Files
vue3-element-admin/src/components/SizeSelect/index.vue
haoxr af4fd8cb6a refactor: icon优化
Former-commit-id: efc04bf33433c06d7dea1f84c41ef83b06ff16f1
2023-01-15 12:55:13 +08:00

39 lines
990 B
Vue

<script setup lang="ts">
import { useAppStore } from '@/store/modules/app';
const appStore = useAppStore();
const sizeOptions = ref([
{ label: '默认', value: 'default' },
{ label: '大型', value: 'large' },
{ label: '小型', value: 'small' }
]);
function handleSizeChange(size: string) {
appStore.changeSize(size);
ElMessage.success('切换布局大小成功');
}
</script>
<template>
<el-dropdown trigger="click" @command="handleSizeChange">
<div
class="cursor-pointer h-[50px] leading-[50px] text-center text-[#5a5e66] px-2.5 hover:bg-gray-50"
>
<svg-icon icon-class="size" />
</div>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item
v-for="item of sizeOptions"
:key="item.value"
:disabled="appStore.size == item.value"
:command="item.value"
>
{{ item.label }}
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>