From d95fab75a7f1b86d9eb48f7d2818b97070b5d36a Mon Sep 17 00:00:00 2001 From: LiuHao <liuhaoai545@gmail.com> Date: 星期日, 02 四月 2023 14:15:47 +0800 Subject: [PATCH] perf element global config --- src/components/SizeSelect/index.vue | 48 ++++++++++++++++++++++-------------------------- 1 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue index 4c2e7e9..fb28e05 100644 --- a/src/components/SizeSelect/index.vue +++ b/src/components/SizeSelect/index.vue @@ -1,45 +1,41 @@ -<template> - <div> - <el-dropdown trigger="click" @command="handleSetSize"> - <div class="size-icon--style"> - <svg-icon class-name="size-icon" icon-class="size" /> - </div> - <template #dropdown> - <el-dropdown-menu> - <el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size === item.value" :command="item.value"> - {{ item.label }} - </el-dropdown-item> - </el-dropdown-menu> - </template> - </el-dropdown> - </div> -</template> - -<script setup> +<script setup lang="ts"> import useAppStore from "@/store/modules/app"; const appStore = useAppStore(); const size = computed(() => appStore.size); -const route = useRoute(); -const router = useRouter(); -const { proxy } = getCurrentInstance(); + const sizeOptions = ref([ { label: "杈冨ぇ", value: "large" }, { label: "榛樿", value: "default" }, { label: "绋嶅皬", value: "small" }, ]); -function handleSetSize(size) { - proxy.$modal.loading("姝e湪璁剧疆甯冨眬澶у皬锛岃绋嶅��..."); +const handleSetSize = (size: string) => { appStore.setSize(size); - setTimeout("window.location.reload()", 1000); } </script> -<style lang='scss' scoped> +<template> + <div> + <el-dropdown trigger="click" @command="handleSetSize"> + <div class="size-icon--style"> + <svg-icon class-name="size-icon" icon-class="size" /> + </div> + <template #dropdown> + <el-dropdown-menu> + <el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size === item.value" :command="item.value"> + {{ item.label }} + </el-dropdown-item> + </el-dropdown-menu> + </template> + </el-dropdown> + </div> +</template> + +<style lang="scss" scoped> .size-icon--style { font-size: 18px; line-height: 50px; padding-right: 7px; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.3