top-lang.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <el-dropdown trigger="click"
  3. @command="handleSetLanguage">
  4. <i class="icon-zhongyingwen"></i>
  5. <el-dropdown-menu slot="dropdown">
  6. <el-dropdown-item :disabled="language==='zh'"
  7. command="zh">中文
  8. </el-dropdown-item>
  9. <el-dropdown-item :disabled="language==='en'"
  10. command="en">English
  11. </el-dropdown-item>
  12. <el-dropdown-item :disabled="language==='vi'"
  13. command="vi">Tiếng Việt
  14. </el-dropdown-item>
  15. </el-dropdown-menu>
  16. </el-dropdown>
  17. </template>
  18. <script>
  19. import {mapGetters} from "vuex";
  20. export default {
  21. name: "top-lang",
  22. data() {
  23. return {};
  24. },
  25. created() {
  26. },
  27. mounted() {
  28. },
  29. computed: {
  30. ...mapGetters(["language", "tag"])
  31. },
  32. props: [],
  33. methods: {
  34. handleSetLanguage(lang) {
  35. this.$i18n.locale = lang;
  36. this.$store.commit("SET_LANGUAGE", lang);
  37. let tag = this.tag;
  38. let title = this.$router.$avueRouter.generateTitle(
  39. tag.label,
  40. (tag.meta || {}).i18n
  41. );
  42. //根据当前的标签也获取label的值动态设置浏览器标题
  43. this.$router.$avueRouter.setTitle(title);
  44. }
  45. }
  46. };
  47. </script>
  48. <style lang="scss" scoped>
  49. </style>