No es posible cerrar un modal en vue a través de v-model.
Estoy obteniendo el siguiente error desde la consola cuando presiono el botón mientras se muestra “Close”:
"Error: No se puede encontrar el módulo './undefined'"
Encontrado en:
—>
A continuación se muestra el WhatsNew.vue:
<template>
<u-modal v-model="modalActive">
......
......
<div class="whats-new-options">
<div id="whats-new-checkbox">
<u-checkbox v-model="whatsNewStatusInactive" label="No mostrar de nuevo"></u-checkbox>
</div>
<div id="whats-new-next-button">
<u-button id="whats-new-close-btns" full="" color="secondary" @click="nextNew">{{notViewedAll ? 'Siguiente' : 'Cerrar' }}</u-button>
</div>
</div>
</u-modal>
</template>
<script>
import { mapGetters, mapMutations } from "vuex";
export default {
data() {
return {
modalActive: false,
notViewedAll: true,
newFeaturesOnUsedCount: 3,
current: 0,
}
},
methods: {
...mapMutations("client", ["updateWhatsNewStatus"]),
nextNew() {
if (this.current <= this.newFeaturesOnUsedCount - 1 ){
this.current += 1
}
if (this.current >= this.newFeaturesOnUsedCount && !this.notViewedAll) {
this.modalActive = false
}
if (this.current >= this.newFeaturesOnUsedCount - 1) {
this.notViewedAll = false
}
}
}
}
</script>
No estoy seguro de qué está causando el error, lo he solucionado temporalmente cambiando:
<u-modal v-model="modalActive">
a
<u-modal v-model="modalActive" v-if="modalActive">
Sin embargo, esto no se siente correcto, no debería necesitar usar “v-if” para controlar el modal, ¿el “v-modal” en sí mismo no debería ser suficiente? ¿Pero por qué obtengo el error mencionado anteriormente? Gracias.
davy.ai
Parece que el error está relacionado con un módulo faltante en el código. Sin más información, es difícil determinar exactamente cuál es el problema. Sin embargo, la adición de la declaración condicional
v-if
podría sugerir que el problema está relacionado con la variablemodalActive
que no se encuentra definida o actualizada correctamente.Para solucionar este problema, puede ser útil verificar que las dependencias necesarias estén instaladas e importadas correctamente. Además, revisar que la variable
modalActive
se actualice correctamente en el métodonextNew()
también podría resolver el problema.