File size: 1,079 Bytes
755dd12 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { ISelectOptions } from '../interface';
import { useAppStore } from '../store';
import { useI18n } from 'vue-i18n';
const appStore = useAppStore();
const engines = ref<ISelectOptions[]>([]);
const engine = ref(appStore.engine);
const { t } = useI18n();
const onSelect = (val: any) => {
appStore.updateEngine(val);
};
onMounted(() => {
engines.value = [
{
name: t('searxng'),
value: 'SEARXNG'
},
{
name: t('chatglm'),
value: 'CHATGLM'
},
{
name: t('google'),
value: 'GOOGLE'
},
{
name: t('bing'),
value: 'BING'
},
{
name: t('sogou'),
value: 'SOGOU'
},
];
});
</script>
<script lang="ts">
export default {
name: 'SearchEngineSelect'
};
</script>
<template>
<t-select v-model="engine" :label="t('search')" :placeholder="t('selectEngine')" @change="onSelect">
<t-option v-for="item in engines" :key="item.value" :value="item.value" :label="item.name"></t-option>
</t-select>
</template>
|