We use Vue 3 and the code looks as following:
Parent:
const template = ref<ShiftTemplate>({})
let dataToPass = ref<any>({})
<v-text-field-smart :data="dataToPass" />
dataToPass.value = {
data: template.value,
labelName: 'Name',
}
Child (v-text-field-smart):
<template>
<v-text-field v-model="params.data">
<template #label>{{ params.labelName }}<span class="text-red">*</span> </template>
</v-text-field>
</template>
<script setup lang="ts">
const props = defineProps<{
data: any
}>()
const params = toRef(props, 'data')
console.log('params =', params)
</script>
The screenshots:
If I write:
<template>
<v-text-field v-model="params.data.name">
<template #label>{{ params.labelName }}<span class="text-red">*</span> </template>
</v-text-field>
</template>
I get an error:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'name')
at Proxy._sfc_render (VTextFieldSmart.vue:2:40)"
How to overcome this issue?