<template>
|
<el-dropdown trigger="click" @command="handleSetLang" :teleported="true">
|
<div class="size-icon--style">
|
<app-svg-icon class-name="size-icon" icon-class="language"/>
|
</div>
|
<template #dropdown>
|
<el-dropdown-menu>
|
<el-dropdown-item
|
v-for="item of langOptions"
|
:key="item.value"
|
:disabled="language === item.value"
|
:command="item.value"
|
>
|
{{ item.label }}
|
</el-dropdown-item>
|
</el-dropdown-menu>
|
</template>
|
</el-dropdown>
|
</template>
|
|
<script setup>
|
import {useSettingStore} from '@/store/modules';
|
|
const settingsStore = useSettingStore();
|
const language = computed(() => settingsStore.language);
|
const route = useRoute();
|
const router = useRouter();
|
const {proxy} = getCurrentInstance();
|
|
const langOptions = ref([
|
{label: "中文", value: "zh"},
|
{label: "英文", value: "en"},
|
]);
|
|
const handleSetLang = (lang) => {
|
proxy.$modal.loading("正在设置国际化,请稍候...");
|
settingsStore.setLanguage(lang);
|
setTimeout("window.location.reload()", 1000);
|
}
|
</script>
|
|
<style lang='scss' scoped>
|
.size-icon--style {
|
font-size: 16px;
|
line-height: 47px;
|
}
|
</style>
|