index.vue 778 B

123456789101112131415161718192021222324252627
  1. <template>
  2. <el-dropdown @command="handleCommand">
  3. <vab-icon icon="translate-2" />
  4. <template #dropdown>
  5. <el-dropdown-menu>
  6. <el-dropdown-item command="zh">中文简体</el-dropdown-item>
  7. <el-dropdown-item command="en">English</el-dropdown-item>
  8. </el-dropdown-menu>
  9. </template>
  10. </el-dropdown>
  11. </template>
  12. <script lang="ts" setup>
  13. import { useSettingsStore } from '/@/store/modules/settings'
  14. import getPageTitle from '/@/utils/pageTitle'
  15. const { locale } = useI18n()
  16. const route = useRoute()
  17. const settingsStore = useSettingsStore()
  18. const { changeLanguage } = settingsStore
  19. const handleCommand = (language: string) => {
  20. changeLanguage(language)
  21. locale.value = language
  22. document.title = getPageTitle(route.meta.title)
  23. }
  24. </script>