index.vue 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <template>
  2. <el-dropdown trigger="click" class="international" @command="handleSetLanguage">
  3. <div>
  4. <svg-icon class-name="international-icon" icon-class="language" />
  5. </div>
  6. <el-dropdown-menu slot="dropdown">
  7. <el-dropdown-item :disabled="language==='zh'" command="zh">
  8. 中文
  9. </el-dropdown-item>
  10. <el-dropdown-item :disabled="language==='en'" command="en">
  11. English
  12. </el-dropdown-item>
  13. <el-dropdown-item :disabled="language==='es'" command="es">
  14. Español
  15. </el-dropdown-item>
  16. <el-dropdown-item :disabled="language==='ja'" command="ja">
  17. 日本語
  18. </el-dropdown-item>
  19. </el-dropdown-menu>
  20. </el-dropdown>
  21. </template>
  22. <script>
  23. export default {
  24. computed: {
  25. language() {
  26. return this.$store.getters.language
  27. }
  28. },
  29. methods: {
  30. handleSetLanguage(lang) {
  31. this.$i18n.locale = lang
  32. this.$store.dispatch('app/setLanguage', lang)
  33. this.$message({
  34. message: 'Switch Language Success',
  35. type: 'success'
  36. })
  37. }
  38. }
  39. }
  40. </script>