How to show/hide modal using instance method in Bootstrap VueJS?

Hi Friends 👋,

Welcome To SortoutCode! ❤️

To show/hide the modal using the instance method in BootstrapVue.We going to use the $bvModal.hide() and $bvModal.hide() instance methods in BootstrapVue.

Today I am going to show you How you show/hide modal using instance method using BootstrapVue in VueJS?

Table of contains

  • Setup the Vue.js
  • Install the Bootstrap and BootstrapVue
  • Create FirstComponent.vue and import it into App.js
  • Hide/Show modal using $bvModal object

Let’s start today’s tutorial How do I show/hide modal using the instance method using BootstrapVue in VueJS?

Setup the Vue.js

First, we have to install the Vue project, I had installed the vueJS in my system. If you haven’t installed or have any problem with installation you can follow this article, which will show you step by step process of installation.

How to Install the VueJS project?

Install the Bootstrap and BootstrapVue

First, we have to install the Vue project, I had installed the vueJS in my system. If you haven’t installed or have any problem with installation you can follow this article, which will show you step by step process of installation. In that article, I had also show you how to install BootstrapVue in your vue.js project step by step.

How to install or configure vue-bootstrap in VueJS?

Create FirstComponent.vue and import it into App.js

Create the new component in the src/components/ components folder. the component name is FirstComponent.vue and imported into the App.js file:

App.js

<template>
  <div id="app">
    <FirstComponent />
  </div>
</template>

<script>
import FirstComponent from "./components/FirstComponent.vue";
export default {
  name: "App",
  components: {
    FirstComponent,
  },
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

Hide/Show modal using $bvModal object

When we are installing the BootstrapVue plugin or the ModalPlugin plugin is used, BootstrapVue will inject the $bvModal object into every Vue instance(component, app).there is several methods of this.$bvModal.From that method we are going to use these two method:

  1. this.$bvModal.show(id) - Show the modal with the specified id
  2. this.$bvModal.show(id) - Show the modal with the specified id

SecondComponent.vue

<template>
  <b-container fluid>
    <div>
      <b-button id="show-btn" @click="$bvModal.show('bv-modal')">Open Modal</b-button>
      <b-modal id="bv-modal" title="SortoutCode" hide-footer>
        <div class="d-block text-center">
          <p class="my-4">Hi everyone,</p>
          <p class="my-4">Welcome to sortoutcode.com</p>
        </div>
        <b-button class="mt-3" @click="$bvModal.hide('bv-modal')">Close Me</b-button>
      </b-modal>
    </div>
  </b-container>
</template>

<script>
export default {
  name: "SecondComponent",
};
</script>

For now, let’s check the output.

bootstrap vue modal

All the best 👍.

Follow me on Twitter