index.vue 1.0 KB
Newer Older
1
<script setup lang="ts">
2 3 4
import { useI18n } from "vue-i18n";
import SvgIcon from "@/components/SvgIcon/index.vue";
import { useAppStore } from "@/store/modules/app";
5

6
const appStore = useAppStore();
郝先瑞 已提交
7
const { locale } = useI18n();
8

9
function handleLanguageChange(lang: string) {
郝先瑞 已提交
10
  locale.value = lang;
11
  appStore.changeLanguage(lang);
12 13
  if (lang == "en") {
    ElMessage.success("Switch Language Successful!");
郝先瑞 已提交
14
  } else {
15
    ElMessage.success("切换语言成功!");
郝先瑞 已提交
16
  }
17 18 19
}
</script>

20
<template>
H
haoxr 已提交
21 22
  <el-dropdown trigger="click" @command="handleLanguageChange">
    <div>
H
haoxr 已提交
23
      <svg-icon icon-class="language" />
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
    </div>
    <template #dropdown>
      <el-dropdown-menu>
        <el-dropdown-item
          :disabled="appStore.language === 'zh-cn'"
          command="zh-cn"
        >
          中文
        </el-dropdown-item>
        <el-dropdown-item :disabled="appStore.language === 'en'" command="en">
          English
        </el-dropdown-item>
      </el-dropdown-menu>
    </template>
  </el-dropdown>
</template>