index.vue 1.1 KB
Newer Older
1
<script setup lang="ts">
郝先瑞 已提交
2 3
import { useI18n } from 'vue-i18n';
import SvgIcon from '@/components/SvgIcon/index.vue';
4
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 14 15 16
  if (lang == 'en') {
    ElMessage.success('Switch Language Successful!');
  } else {
    ElMessage.success('切换语言成功!');
  }
17 18 19
}
</script>

20 21 22 23 24 25
<template>
  <el-dropdown
    class="lang-select"
    trigger="click"
    @command="handleLanguageChange"
  >
H
haoxr 已提交
26
    <div class="cursor-pointer w-[40px] h-[50px] leading-[50px] text-center">
27
      <svg-icon icon-name="language" />
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
    </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>