chore: update element-plus to the latest version

This commit is contained in:
xiaoxian521
2021-08-18 18:05:13 +08:00
parent 74ef4e1722
commit 666e755ae5
7 changed files with 1340 additions and 216 deletions

View File

@@ -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,