Asignación de datos a campos al abrir un diálogo en Vuetify.
He creado una caja de diálogo con vuetify y quiero que esté prellenada de datos en el v-select, pero está vacía cuando abro el cuadro de diálogo modal. He asignado la propPackage
al selectPackage
que se usa en v-model
en el v-select
. ¿Cómo debo prellenarlo cuando abro el diálogo?
Diálogo:
<template>
<v-row justify="center">
<v-dialog v-model="dialog" max-width="600px" @click:outside="close">
<v-select :items="['Basic', 'Standard', 'Premium']" label="Package*" required="" v-model="selectPackage"></v-select>
<v-btn @click="close"> Close </v-btn>
</v-dialog>
</v-row>
</template>
<script>
export default {
props: {
dialog: {
type: Boolean,
required: false,
default: false,
},
propPackage: {
type: String,
required: true,
},
},
data: () => ({
selectPackage: this.propPackage,
}),
methods: {
close() {
this.$emit("close");
},
},
};
</script>
Componente padre:
<template>
<v-btn @click="bookDialog('Basic')"></v-btn>
<form-modal :dialog="openDialog" @close="close" :proppackage="propPackage"></form-modal>
</template>
<script>
import FormModal from "@/components/FormModal.vue";
export default {
components: {
FormModal,
},
data: () => ({
openDialog: false,
propPackage: null,
}),
methods: {
bookDialog(val) {
this.propPackage = val;
this.openDialog = true;
},
close() {
this.openDialog = false;
},
},
};
</script>
davy.ai
Para prellenar el v-select con los datos de
propPackage
al abrir el cuadro de diálogo modal, se necesita usar el método del ciclo de vidacreated()
para establecer el valor predeterminado deselectPackage
como el valor depropPackage
. Aquí está un fragmento de código actualizado para el componente secundario:Al establecer la propiedad de datos
selectPackage
athis.propPackage
en el método del ciclo de vidacreated()
, el v-select estará prellenado con el valor depropPackage
al abrir el cuadro de diálogo modal.