Browse Source

fix: element-plus locale config

xiaoxian521 3 years ago
parent
commit
1687097e63
1 changed files with 22 additions and 19 deletions
  1. 22 19
      src/App.vue

+ 22 - 19
src/App.vue

@@ -1,25 +1,28 @@
-<script setup lang="ts">
-import { getCurrentInstance } from "vue";
+<template>
+  <el-config-provider :locale="currentLocale">
+    <router-view />
+  </el-config-provider>
+</template>
+
+<script lang="ts">
 import { ElConfigProvider } from "element-plus";
 import zhCn from "element-plus/lib/locale/lang/zh-cn";
 import en from "element-plus/lib/locale/lang/en";
-
-let locale: string =
-  getCurrentInstance().appContext.config.globalProperties.$storage?.locale
-    ?.locale;
-
-let currentLocale = () => {
-  switch (locale) {
-    case "zh":
-      return zhCn;
-    case "en":
-      return en;
+export default {
+  name: "app",
+  components: {
+    [ElConfigProvider.name]: ElConfigProvider
+  },
+  computed: {
+    // eslint-disable-next-line vue/return-in-computed-property
+    currentLocale() {
+      switch (this.$storage.locale?.locale) {
+        case "zh":
+          return zhCn;
+        case "en":
+          return en;
+      }
+    }
   }
 };
 </script>
-
-<template>
-  <el-config-provider :locale="currentLocale()">
-    <router-view />
-  </el-config-provider>
-</template>