Skip to content

Commit

Permalink
Update LanguageSelector.vue
Browse files Browse the repository at this point in the history
  • Loading branch information
TimLai666 committed Oct 31, 2024
1 parent 2949357 commit 50aace4
Showing 1 changed file with 47 additions and 14 deletions.
61 changes: 47 additions & 14 deletions frontend/src/components/LanguageSelector.vue
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
<template>
<div class="language-selector">
<el-select-v2
<div class="language-selector">
<div class="select-wrapper">
<i class="fa fa-globe select-icon"></i>
<select
v-model="value"
:options="options"
placeholder="Please select"
size="large"
style="width: 240px"
@change="emitLanguageChange"
/>
class="language-select"
@change="emitLanguageChange($event.target.value)"
>
<option
v-for="option in options"
:key="option.value"
:value="option.value"
>
{{ option.label }}
</option>
</select>
</div>
</div>
</template>

<script>
import { ref } from 'vue'
export default {
props: {
currentLanguage: {
Expand All @@ -29,15 +36,14 @@ export default {
currentLanguage = initials[0]
}
const value = ref(currentLanguage) // 預設選擇繁體中文
const value = ref(currentLanguage)
const options = initials.map((lang) => ({
value: lang,
label: lang,
}));
const emitLanguageChange = (lang) => {
localStorage.setItem('language', lang);
// emit('language-changed', lang); // 發射事件
location.reload();
};
Expand All @@ -51,9 +57,36 @@ export default {
</script>

<style scoped>
.example-showcase .el-select-v2 {
margin-right: 20px;
.select-wrapper {
position: relative;
display: inline-flex;
align-items: center;
}
.select-icon {
position: absolute;
left: 10px;
color: #606266;
z-index: 1;
}
.language-select {
width: 240px;
padding: 8px;
padding-left: 35px;
font-size: 16px;
border: 1px solid #dcdfe6;
border-radius: 4px;
background-color: white;
cursor: pointer;
}
.language-select:focus {
outline: none;
border-color: #409eff;
}
.language-select option {
padding: 8px;
}
</style>

0 comments on commit 50aace4

Please sign in to comment.