Travis Build Version Downloads
Vue.js Overlay
is a practical, modern and convenient overlay
(popup
) Vue.js
component.
It is a stylish popup component for Vue.js
that you can easily use in your projects.
The most important features are flexible, modern, animated, stable, lightweight.
npm install vuejs-overlay --save
<div id="app"> <overlay :opened="opened" :visible="visible" @closed="opened = visible = false"> <span>My popup</span> </overlay> <button @click="opened = visible = true">Open Popup</button> </div>
// ES6 import Overlay from 'vuejs-overlay'; new Vue({ el: '#app', data() { return { opened: false, visible: false } }, components: { Overlay } });
You can make the configurations with props
.
Configuration | Type | Default | Description |
---|---|---|---|
animate | String, Boolean | false | You can choose which animation the popup will open and close. |
backdrop | Boolean | true | Specifies whether the popup has a backdrop. |
close-on-escape | Boolean | true | This is to close the popup with the escape key . |
close-on-cancel | Boolean | true | This is to close the popup with the cancel button . |
close-by-backdrop-click | Boolean | true | This is to close the popup when the backdrop is clicked. |
closeable | Boolean | true | Closing feature of the popup. You can use it in critical form operations. |
opened | Boolean | false | Specifies the popup is opened. |
header | String, Boolean | false | Used to determine the header text of the popup. |
visible | Boolean | false | Specifies that internal elements are loaded of the popup. |
"bounce"
, "fade"
, "slide-down"
, "slide-left"
, "slide-right"
, "slide-up"
, "zoom-in"
, "zoom-out"
, false
.
<overlay animate="zoom-in" :opened="opened" :visible="visible" @closed="opened = visible = false"> <div>π</div> </overlay>
Let's take an example of content data with ajax. In this example we used vuejs-ajax
library.
<div id="app"> <overlay :opened="opened" :visible="visible" @closed="onClosed"> <span v-text="text"></span> </overlay> <button @click="openHandle">Open Popup</button> </div>
import ajax from "vuejs-ajax"; import {Overlay} from 'vuejs-overlay.js'; Vue.use(ajax); new Vue({ el: '#app', data() { return { opened: false, visible: false, text: null, } }, methods: { openHandle() { this.overlayOpened = true; Vue.ajax.get("example.com/my-request-url").then(response => { this.text = response.data; this.visible = true; }); }, onClosed() { this.opened = false; this.visible = false; } }, components: { Overlay } });
Configuration | Type | Description |
---|---|---|
@closed | Callback | Triggers when the popup is closed. We recommend that you use this to ensure stable operation of this component when closing the popup. |
@opened | Callback | Triggers when the popup is opened. |
<overlay :opened="opened" :visible="visible" @closed="opened = visible = false" @opened="someCallback"> <span>My popup</span> </overlay>
Copyright (c) 2019 Fatih Koca