时间:2021-07-01 10:21:17 帮助过:67人阅读
效果如下,dialog中内容自行添加
- <template>
- <p>
- <p class="dialog-wrap">
- <p class="dialog-cover" v-if="isShow" @click="closeMyself"></p>
- <transition name="drop">
- <p class="dialog-content" v-if="isShow">
- <p class="dialog-close" @click="closeMyself">x</p>
- <slot>empty</slot>
- </p>
- </transition>
- </p>
- </p>
- </template>
接收父组件传参isShow,并返回一个自定义事件on-close
- <script>
- export default {
- props: {
- isShow: {
- type: Boolean,
- default: false
- }
- },
- data () {
- return {
- }
- },
- methods: {
- closeMyself () {
- this.$emit('on-close')
- }
- }
- }
- </script>
- <style scoped>
- .drop-enter-active {
- transition: all .5s ease;
- }
- .drop-leave-active {
- transition: all .3s ease;
- }
- .drop-enter {
- transform: translateY(-500px);
- }
- .drop-leave-active {
- transform: translateY(-500px);
- }
- .dialog-wrap {
- position: fixed;
- width: 100%;
- height: 100%;
- }
- .dialog-cover {
- background: #000;
- opacity: .3;
- position: fixed;
- z-index: 5;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- }
- .dialog-content {
- width: 50%;
- position: fixed;
- max-height: 50%;
- overflow: auto;
- background: #fff;
- top: 20%;
- left: 50%;
- margin-left: -25%;
- z-index: 10;
- border: 2px solid #464068;
- padding: 2%;
- line-height: 1.6;
- }
- .dialog-close {
- position: absolute;
- right: 5px;
- top: 5px;
- width: 20px;
- height: 20px;
- text-align: center;
- cursor: pointer;
- }
- .dialog-close:hover {
- color: #4fc08d;
- }
- </style>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
Javascript中prototype与__proto__的关系详解
Node.JS循环删除非空文件夹及子目录下的所有文件
js中document.write和document.writeln的区别
以上就是vue中dialog弹框如何实现的详细内容,更多请关注Gxl网其它相关文章!