How to create a confirm dialog modal in Bootstrap VueJS?

Hi Friends 👋,

Welcome To SortoutCode! ❤️

To create a confirm dialog modal using BootstrapVue.We are using this.$bvModal.msgBoxOk(message, options) and this.$bvModal.msgBoxConfirm(message, options) to show a modal message in BootstrapVue.

Today I am going to show you How you a confirm dialog modal 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
  • Create a message box
  • Create confirm message box

Let’s start today’s tutorial How do I a confirm dialog modal 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>

Create a message box

In BootstrapVue provide the few build message box methods to this.$bvModal object. To create the message box we going to use the this.$bvModal.msgBoxOk(message, options).When we are going to click the button to call the method it will open the modal with message as content and a single OK button.

And for the options argument is an optional configuration object that is for adding the modal button, modal title, and styling the modal box.

FirstComponent.vue

<template>
  <b-container fluid>
    <div>
      <b-button @click="showMsgBox">Click Here</b-button>
    </div>
  </b-container>
</template>
<script>
export default {
  name: "FirstComponent",
  data() {
      return {
        box: '',
        errMsg:'',
      }
    },
    methods: {
      showMsgBox() {
        this.$bvModal.msgBoxOk("We are enjoying sortoutcode.com!",{
          title: 'SortouCode',
          size: 'sm',
          buttonSize: 'sm',
          okVariant: 'success',
          headerClass: 'p-2 border-bottom-0',
          footerClass: 'p-2 border-top-0',
          centered: true
          })
          .then(value => {
            this.box = value;
          })
          .catch(err => {
            this.errMsg = err;
          })
      },
    }
  
};
</script>

For now, let’s check the output.

bootstrap vue message box

Create confirm message box

In BootstrapVue provide the few build message box methods to this.$bvModal object. To create the message box we going to use the this.$bvModal.msgBoxConfirm(message, options).When we are going to click the button to call the method it will open the modal with message as content and a CANCEL and OK button.

And for the options argument is an optional configuration object that is for adding the modal button, modal title, and styling the modal box.

FirstComponent.vue

<template>
  <b-container fluid>
    <div>
      <b-button @click="showMsgBox">Click Here</b-button>
    </div>
  </b-container>
</template>
<script>
export default {
  name: "FirstComponent",
  data() {
      return {
        box: '',
        errMsg:'',
      }
    },
    methods: {
      showMsgBox() {
        this.$bvModal.msgBoxConfirm("Are you enjoying sortoutcode.com?",{
          title: 'SortouCode',
          size: 'sm',
          buttonSize: 'sm',
          okVariant: 'success',
          headerClass: 'p-2 border-bottom-0',
          footerClass: 'p-2 border-top-0',
          centered: true
          })
          .then(value => {
            this.box = value;
          })
          .catch(err => {
            this.errMsg = err;
          })
      },
    }
  
};
</script>

For now, let’s check the output.

bootstrap vue confirm message box modal

All the best 👍.

Follow me on Twitter