66 lines
1.6 KiB
Vue
66 lines
1.6 KiB
Vue
<!--
|
|
* @Author: your name
|
|
* @Date: 2021-01-27 10:07:42
|
|
* @LastEditTime: 2021-02-24 11:13:53
|
|
* @LastEditors: gtz
|
|
* @Description: In User Settings Edit
|
|
* @FilePath: \mt-bus-fe\src\components\LangSelect\index.vue
|
|
-->
|
|
<template>
|
|
<el-dropdown trigger="click" class="international" @command="handleSetLanguage">
|
|
<div>
|
|
<svg-icon
|
|
style="width: calc(24px * var(--beilv)); height: calc(24px * var(--beilv)); vertical-align: calc(-7px * var(--beilv));"
|
|
class-name="international-icon"
|
|
:icon-class="isShow ? 'language2' : 'language3'"
|
|
/>
|
|
</div>
|
|
<el-dropdown-menu slot="dropdown">
|
|
<el-dropdown-item :disabled="language === 'zh'" command="zh">
|
|
中文
|
|
</el-dropdown-item>
|
|
<el-dropdown-item :disabled="language === 'en'" command="en">
|
|
English
|
|
</el-dropdown-item>
|
|
<!-- <el-dropdown-item :disabled="language==='es'" command="es">
|
|
Español
|
|
</el-dropdown-item>
|
|
<el-dropdown-item :disabled="language==='ja'" command="ja">
|
|
日本語
|
|
</el-dropdown-item> -->
|
|
</el-dropdown-menu>
|
|
</el-dropdown>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
props: {
|
|
isShow: {
|
|
type: Boolean,
|
|
default: () => {
|
|
return true
|
|
}
|
|
}
|
|
},
|
|
computed: {
|
|
language() {
|
|
return this.$store.getters.language
|
|
}
|
|
},
|
|
methods: {
|
|
handleSetLanguage(lang) {
|
|
this.$i18n.locale = lang
|
|
this.$store.dispatch('app/setLanguage', lang)
|
|
this.$message({
|
|
message: 'Switch Language Success',
|
|
type: 'success',
|
|
duration: 2000,
|
|
onClose: () => {
|
|
location.reload()
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|