vue 封装 下拉选择框 actionSheet, dropDown ,类似mint-ui中的actionSheet

一,封装蒙层Popup 框---带淡入淡出渐变效果的

<template>
    <transition name="rytpopup-transition">
        <div class="rytPopup" v-show="visible" @click="closeRytpopup">
            <slot></slot>
        </div>
    </transition>
</template>
<!--  slot 意为插槽 里面可以放任何标签 -->
<script>
 export default {
     name:"rytPopup",
     props:{
         center:{
             type: Boolean,
             default:false    
         }
      
     },
    data(){
        return{
            visible:false,     
        }
       
    },
    methods:{
        closeRytpopup(){
            this.visible = false
        },

    },
    watch:{
        visible(val){
           this.$emit('input',val)  //当visible的值发生改变的时候,把val(viaible的值)传给父组件的v-model属性
        },
          center(val){ //当center的值发生改变的时候,把center的val值传给this.viaible
            this.visible = val
          }    

    },
 }
</script>
<style scoped>
    .rytPopup {
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      opacity: 0.5;
      background-color: #000
    }
    /*利用vue 的transition 中的过渡实现背景色的opacity 的值在0 和1之间的过渡*/
  .rytpopup-transition-enter-active, .rytpopup-transition-leave-active {
      transition: opacity .5s;
    }
    .rytpopup-transition-enter, .rytpopup-transition-leave-to /* .fade-leave-active below version 2.1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值