vue3写一个弹窗
时间: 2023-07-01 15:18:04 浏览: 118
vue 实现一个简单的全局调用弹窗案例
好的,以下是一个使用 Vue3 写的弹窗组件示例:
```html
<template>
<div>
<button @click="showModal = true">显示弹窗</button>
<div class="modal" v-if="showModal">
<div class="modal-content">
<span class="close" @click="showModal = false">×</span>
<h2>{{ title }}</h2>
<p>{{ message }}</p>
</div>
</div>
</div>
</template>
<script>
import { ref } from 'vue';
export default {
name: 'Modal',
props: {
title: String,
message: String,
},
setup(props) {
const showModal = ref(false);
return {
showModal,
...props,
};
},
};
</script>
<style>
.modal {
display: block;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
</style>
```
这个弹窗组件使用了一个 `showModal` 变量来控制弹窗的显示与隐藏。当点击按钮时,`showModal` 变量会被设置为 `true`,弹窗就会显示出来。点击弹窗上的关闭按钮或者弹窗外的区域,`showModal` 变量会被设置为 `false`,弹窗就会隐藏起来。你可以根据需要修改组件的样式和功能。
阅读全文