mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-11-03 13:44:47 +08:00
chore: update element-plus to the latest version
This commit is contained in:
@@ -15,10 +15,10 @@
|
||||
<div
|
||||
v-show="!deviceDetection()"
|
||||
class="inter"
|
||||
:title="langs ? '中文' : 'English'"
|
||||
:title="currentLocale ? '中文' : 'English'"
|
||||
@click="toggleLang"
|
||||
>
|
||||
<img :src="langs ? ch : en" />
|
||||
<img :src="currentLocale ? ch : en" />
|
||||
</div>
|
||||
<i
|
||||
class="el-icon-setting hsset"
|
||||
@@ -33,9 +33,9 @@
|
||||
</span>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item icon="el-icon-switch-button" @click="logout">{{
|
||||
$t("message.hsLoginOut")
|
||||
}}</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-switch-button" @click="logout">
|
||||
{{ $t("message.hsLoginOut") }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
@@ -44,7 +44,13 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { ref, defineComponent, onMounted, unref, watch } from "vue";
|
||||
import {
|
||||
defineComponent,
|
||||
onMounted,
|
||||
unref,
|
||||
watch,
|
||||
getCurrentInstance
|
||||
} from "vue";
|
||||
import Breadcrumb from "/@/components/ReBreadCrumb";
|
||||
import Hamburger from "/@/components/ReHamBurger";
|
||||
import screenfull from "../components/screenfull/index.vue";
|
||||
@@ -58,10 +64,6 @@ import { emitter } from "/@/utils/mitt";
|
||||
import { deviceDetection } from "/@/utils/deviceDetection";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
import ElementLocale from "element-plus/lib/locale";
|
||||
import enLocale from "element-plus/lib/locale/lang/en";
|
||||
import zhLocale from "element-plus/lib/locale/lang/zh-cn";
|
||||
|
||||
export default defineComponent({
|
||||
name: "Navbar",
|
||||
components: {
|
||||
@@ -69,9 +71,25 @@ export default defineComponent({
|
||||
Hamburger,
|
||||
screenfull
|
||||
},
|
||||
computed: {
|
||||
// eslint-disable-next-line vue/return-in-computed-property
|
||||
currentLocale() {
|
||||
if (!this.$storage.locale) {
|
||||
// eslint-disable-next-line
|
||||
this.$storage.locale = { locale: "zh" }
|
||||
useI18n().locale.value = "zh";
|
||||
}
|
||||
switch (this.$storage.locale?.locale) {
|
||||
case "zh":
|
||||
return true;
|
||||
case "en":
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
setup() {
|
||||
let langs = ref(true);
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
let vm: any;
|
||||
const pureApp = useAppStoreHook();
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
@@ -82,18 +100,20 @@ export default defineComponent({
|
||||
|
||||
// 国际化语言切换
|
||||
const toggleLang = (): void => {
|
||||
langs.value = !langs.value;
|
||||
if (langs.value) {
|
||||
locale.value = "zh";
|
||||
ElementLocale.use(zhLocale);
|
||||
} else {
|
||||
locale.value = "en";
|
||||
ElementLocale.use(enLocale);
|
||||
switch (vm.locale.locale) {
|
||||
case "zh":
|
||||
vm.locale = { locale: "en" };
|
||||
locale.value = "en";
|
||||
break;
|
||||
case "en":
|
||||
vm.locale = { locale: "zh" };
|
||||
locale.value = "zh";
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
watch(
|
||||
() => langs.value,
|
||||
() => locale.value,
|
||||
() => {
|
||||
//@ts-ignore
|
||||
document.title = t(unref(route.meta.title)); // 动态title
|
||||
@@ -115,6 +135,8 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
vm = getCurrentInstance().appContext.config.globalProperties.$storage;
|
||||
document
|
||||
.querySelector(".el-dropdown__popper")
|
||||
?.setAttribute("class", "resetTop");
|
||||
@@ -126,7 +148,6 @@ export default defineComponent({
|
||||
return {
|
||||
pureApp,
|
||||
toggleSideBar,
|
||||
langs,
|
||||
usename,
|
||||
toggleLang,
|
||||
logout,
|
||||
|
||||
Reference in New Issue
Block a user