Laravel 11, Vue 3, Inertia
app.js
.....
createInertiaApp({
title: (title) => `${title} - ${appName}`,
resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')),
setup({el, App, props, plugin}) {
return createApp({render: () => h(App, props)})
.use(plugin)
.use(ZiggyVue, Ziggy)
.use(i18nVue, {
resolve: async lang => {
const langs = import.meta.glob('../../lang/*.json');
return await langs[`../../lang/php_${lang}.json`]();
}
})
.....
item.vue
<script setup>
...
const form = useForm({
type_shop: 'Desktop',
...
})
const type_shop_data = ref ([
{ value: 'Desktop', title: wTrans('shop.desktop') },
{ value: 'Laptop', title: wTrans('shop.laptop') },
{ value: 'Other', title: wTrans('shop.other') }
]);
....
</script>
<template>
....
<Autocomplete
v-model="form.type_shop"
:is-async="false"
:items="type_shop_data"
/>
....
</template>
Autocomplete.vue
<script setup>
const props = defineProps({
items: {
type: Array,
required: false,
default: () => [],
},
modelValue: [String,Object],
....
onMounted(() => {
if (props.items.length > 0){
isAsync.value = false
if (props.modelValue){
let foundObject = props.items.find(function(item) {
return item.value === props.modelValue;
});
// console.log('foundObject:', foundObject);
if (foundObject) {
setResult(foundObject)
}
}
}else{
if (props.selected){
setResult(props.selected)
}
}
})
.....
function setResult(result) {
console.log('result.value:', result.value )
console.log('result.title', result.title )
search.value = (result.title) ? result.title : '';
isOpen.value = false;
if (props.returnItem === "data") {
emit('update:modelValue', result)
}else{
emit('update:modelValue', result.value)
}
}
.....
Когда я переходжу по ссылкам (Link/Inertia), то все работает нормально переводы обрабатываются:
в консоли
result.value: Desktop Autocomplete.vue:217:13
result.title Настольный ПК
но когда обновляю страницу (например Ctrl+F5) то переводы слетают в этом компоненте (остальное на странице переводит)
в консоли
result.value: Desktop Autocomplete.vue:217:13
result.title shop.desktop
Как исправить?