Buefy

Modal con Bulma y Vue usando Buefy

En este post aprenderás a mostrar un modal personalizado usando Bulma a través de Buefy. De este modo podrás mostrar una ventana superpuesta o lo que se conoce como un modal.

Por cierto, vamos a usar componentes y propiedades de los mismos para separar los conceptos.

Te invito a repasar la comunicación entre componentes y cómo usar Buefy.

Diseñando el modal

El modal va a estar en otro componente. Esto es para separar conceptos y tener un código separado. Entonces tenemos el componente que será el modal:

See the gist on github.

Lo que te muestro es un ejemplo, pero sirve para mostrarte cómo puedes hacerlo. Tenemos un div con la clase modal-card, que tiene un header con la clase modal-card-head, un cuerpo con la clase modal-card-body y el footer con la clase modal-card-foot.

También tiene dos botones, uno es para confirmar la acción y otro para cerrar el modal. Para cerrar el modal invocamos a this.$parent.close.

En este caso como ejemplo estoy recibiendo la propiedad dispositivo, esto es para ejemplificar que podemos pasarle propiedades desde el padre. Y también estoy emitiendo el evento cobrado para que el padre lo escuche.

Obviamente todo el componente puede tener más métodos, propiedades, diseño, etcétera.

Importando componente

Ahora que ya tenemos nuestro modal vamos a importarlo en el padre e indicar que lo vamos a usar dentro de components.

Comenzamos importándolo:

See the gist on github.

Y luego indicamos que vamos a usarlo:

See the gist on github.

Ahora en nuestra plantilla (igual en el padre) vamos a usarlo dentro de un b-modal así:

See the gist on github.

Y fíjate en todas las variables que le estamos pasando (las explico más adelante). Vamos a mostrar y ocultar el modal a través de la variable mostrarModalCobrar.

También le estamos pasando la propiedad dispositivo a través de la variable dispositivoParaCobrar.

Finalmente estamos escuchando en evento cobrado, en el cual invocamos a la función onCobrado.

Manejando modal de Vue.js con Bulma

Ahora solo falta mostrar y ocultar nuestro modal. Entonces en data definimos las 3 variables anteriores, y en methods colocamos el método que será llamado cuando el modal emita el evento:

See the gist on github.

En este caso solo estoy imprimiendo la variable que se nos va a pasar desde el modal dentro de nuestro método. Y finalmente lo que desencadena y muestra el modal (modificando la bandera mostrarModalCobrar) es lo siguiente:

See the gist on github.

Entonces cuando esta función sea invocada se va a colocar el dispositivo para cobrar, mismo que ya está pasado al componente. Luego se va a mostrar el modal, y el paso siguiente será escuchar el evento cobrado que ya vimos anteriormente.

Poniendo todo junto

Ya te dije anteriormente: esto es solo un ejemplo; puedes adaptarlo a tus necesidades. Yo escribo este post como recordatorio.

Mostrar modal con Vue.js y Bulma usando Buefy con componentes

Básicamente debes modificar la bandera para mostrar y ocultar el modal. Y desde el modal puedes pasar datos o cerrar al mismo desde adentro. Además, puedes reutilizar el modal y muchas cosas más.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir HTML con impresora térmica

En este post te enseñaré a imprimir HTML en una impresora térmica. Vas a ser…

3 horas hace

Monitorear cola de impresión en Windows

En este artículo te voy a enseñar a monitorear la cola de impresión de una…

3 días hace

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

7 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

7 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

7 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

1 semana hace

Esta web usa cookies.