From 251d2411f235e23209d57173857e05b637729ce8 Mon Sep 17 00:00:00 2001
From: LiuHao <liuhaoai545@gmail.com>
Date: 星期日, 02 四月 2023 01:01:56 +0800
Subject: [PATCH] refactor ts

---
 src/components/SizeSelect/index.vue |   49 ++++++++++++++++++++++++-------------------------
 1 files changed, 24 insertions(+), 25 deletions(-)

diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue
index 4c2e7e9..a2b38d6 100644
--- a/src/components/SizeSelect/index.vue
+++ b/src/components/SizeSelect/index.vue
@@ -1,45 +1,44 @@
-<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";
+import { ComponentInternalInstance } from "vue";
 
 const appStore = useAppStore();
 const size = computed(() => appStore.size);
-const route = useRoute();
-const router = useRouter();
-const { proxy } = getCurrentInstance();
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const sizeOptions = ref([
   { label: "杈冨ぇ", value: "large" },
   { label: "榛樿", value: "default" },
   { label: "绋嶅皬", value: "small" },
 ]);
 
-function handleSetSize(size) {
-  proxy.$modal.loading("姝e湪璁剧疆甯冨眬澶у皬锛岃绋嶅��...");
+const handleSetSize = (size: string) => {
+  proxy?.$modal.loading("姝e湪璁剧疆甯冨眬澶у皬锛岃绋嶅��...");
   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