In this article, I will guide how to create modal popup using daisyUI library.
Prerequisites
- node.js installed
- Tailwind CSS
You can check how to install Tailwind CSS in vue.js from below link
Create Vue.js Project
To create a Vue.js app, use the following command in the terminal
vue create tailwindcss
Install daisyUI using following npm command
npm i daisyui
Open tailwind.config.js and add the following code.
module.exports = {
content: [
"./index.html",
"./src/**/*.{vue,js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [require("daisyui")],
}
Now right-click on the components folder and add a new component named 'modalpopupdemo.vue'. Now open modalpopupdemo.vue component and add the following code
<template>
<div class="justify-center flex bg-blue-300 items-center h-screen">
<a href="#my-modal-2" class="btn">open modal</a>
<div class="modal" id="my-modal-2">
<div class="modal-box">
<h3 class="font-bold text-lg">Welcome to daisyUI </h3>
<p class="py-4">
Use daisyUI Components in Vue.js <br>
Node.js and Tailwind CSS</p>
<div class="modal-action">
<a href="#" class="btn">Yay!</a>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'modalpopupdemo',
props: {
msg: String
}
}
</script>
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
Now open App.vue componen. Add the following code in App.vue component
<template>
<div id="app">
<modalpopupdemo/>
</div>
</template>
<script>
import modalpopupdemo from './components/modalpopupdemo.vue'
export default {
name: 'App',
components: {
modalpopupdemo
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
</style>
Now run the application by using following command.
npm run serve
Click on open modal button,


Summary
In this article, we learned how to create modal popup in Vue.js.

Join the conversation! Your thoughts help the community grow.