We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies


The Vue Modal Dialog is a useful user interface (UI) component for informing users about critical information, errors, warnings, and questions, as well as confirming decisions and collecting input from users. The component has a rich set of built-in features such as action buttons, positioning, animations, dragging, resizing, templating, and more with mobile dialog support. The dialog provides two different types: modal dialogs and non-modal dialogs (modeless) based on interactions.

The Vue Modal dialog component comes with two different types of dialogs, modal and non-modal (modeless):

  • Modal dialogs force users to interact with them before continuing. So, it is used to show important interaction information and non-continuous process information (for example, a sign-up or login form).
  • Non-modal dialogs allow users to interact outside the dialog box even if it is in an active state, which is suitable for frequent and nonblocking dialogs (for example, find and replace dialogs).

Dialog UI elements

The Vue dialog control provides necessary UI elements (header (title), body (content), and action area/footer) for better customization.

Action buttons

The Vue Modal dialog component provides built-in support to perform actions through buttons, which define necessary callback functions to handle user input.


Users can position a dialog wherever they want in a page. It is easy to configure this through built-in positions or any custom axis value (for example, top left, bottom right, top right, bottom left, 100 75, etc.).


The modal dialog can be moved anywhere in a page by dragging its header, which performs using the Draggable library.


Modal dialogs create overlays on open modal windows that provide options for a user to control the closing behavior of a dialog while interacting with it.

Vue Dialog with overlay

Additional dialogs

Users can launch multiple dialogs simultaneously or one above the other based on their z-index (z-depth) to make additional dialogs (nested modal dialogs).


A variety of smooth, built-in animations are available to configure for the opening and closing of modal dialogs. They perform based on CSS3 animation from the Animation library.


The modal dialog can resize from any of the edges or borders of the dialog within the target container by using its handle (grip) or hovering on it.

Close options

The modal dialog can be closed by clicking on a close icon, with an overlay click, or by pressing the ESC key. Users can restrict the closing behavior of a dialog based on its callback function parameters, also.

Remote content via AJAX

Users can directly load content from a remote source (for example, an external webpage) to a dialog using the AJAX library.

Alert and confirmation dialogs

Create Vue Modal alerts and confirmation dialogs by using built-in functions.

Right-to-left (RTL)

The Vue Modal dialog component supports right-to-left (RTL) rendering. Users can change the text direction and layout of the dialog component from right to left. This improves the user experience and accessibility for those who use RTL languages.

Vue Modal Dialog covers web accessibility


  • Fully supports WAI-ARIA accessibility, which helps dialogs be accessed by on-screen readers and assistive devices.

  • Follows WAI-ARIA Best Practices for implementing keyboard interaction.

  • The UI element visuals such as foreground color, background color, line spacing, text, and images were designed based on the WCAG 2.0 standard.

Vue Modal Dialog works well in touch devices


The Vue Modal dialog component is highly configurable to make mobile dialogs and better user experiences across phone, tablet, and desktop form factors.


The Vue Modal dialog component has several built-in themes such as Material, Bootstrap, Fabric (Office 365), Tailwind CSS, and High Contrast. Users can customize any one of these built-in themes or create new themes to achieve their own desired look and feel either by simply overriding SASS variables or using our Theme Studio application.

Developer-friendly APIs

Developers can control the appearance and behaviors of a dialog, including its positioning, content, and animation, using a rich set of APIs.

Other supported frameworks

The Modal dialog component is also available in Blazor, React, Angular, and JavaScript frameworks. Check out the different Modal dialog platforms from the links below,

Vue Modal Dialog Code Example

Easily get started with the Vue Modal Dialog using a few simple lines of Vue codes as demonstrated below. Also explore our Vue Modal Dialog Example that shows you how to render and configure a Modal Dialog in Vue.

<div id="modalTarget" class="control-section; position:relative" style="height:350px;">
    <!-- Render Button to open the modal Dialog -->
    <ejs-button id='modalbtn' v-on:click.native="modalBtnClick">Open</ejs-button>
    <!-- Render modal Dialog -->
    <ejs-dialog ref="modalDialog"  :isModal='isModal' :header='header' :target='target' :width='width' :animationSettings='animationSettings' :content='content' :open="modalDlgOpen" :close="modalDlgClose" :overlayClick="overlayClick">

import Vue from 'vue';
import { DialogPlugin } from '@syncfusion/ej2-vue-popups';
import { ButtonPlugin } from '@syncfusion/ej2-vue-buttons';

export default {
data: function() {
    return {
        target: "#modalTarget",
        width: '335px',
        header: 'Software Update',
        content: 'Your current software version is up to date.',
        isModal: true,
        animationSettings: { effect: 'None' }
mounted: function(){
methods: {
    modalBtnClick: function() {
    modalDlgClose: function() {
        document.getElementById('modalbtn').style.display = '';
    modalDlgOpen: function() {
        document.getElementById('modalbtn').style.display = 'none';
    overlayClick: function() {

@import "../../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
#app {
    color: #008cff;
    height: 40px;
    left: 45%;
    position: absolute;
    top: 45%;
    width: 30%;
.control-section {
    height: 100%;
    min-height: 200px;


Frequently Asked Questions

  • A highly customizable and configurable user interface (UI) to make a dialog box.
  • Display critical information, errors, warnings, confirmations, alerts, questions, and message boxes.
  • Use built-in features such as action buttons, drag and drop, positioning, animations, and themes.
  • One of the best Vue Modal Dialogs in the market that offers a feature-rich UI to interact with the software.
  • Simple configuration and APIs.
  • Supports all modern browsers.
  • Expansive learning resources such as demos, documentation, and to learn quickly and get started with Vue Modal Dialog.

You can find our Vue Modal Dialog demo here.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

Transform your applications today by downloading our free evaluation version Download Free Trial


Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile