美文网首页
动手在Vue中自己撸个弹窗?

动手在Vue中自己撸个弹窗?

作者: 都江堰古巨基 | 来源:发表于2020-04-26 23:32 被阅读0次

今天遇到一个需求是给一些定制的图片上加上弹窗,类似elementUI的弹窗那样:
思路是这样的,先返回点击事件中的target,然后判断这个target包含在指定的的元素中没有,若没有的话就清除弹窗,若有则显示弹窗。
代码如下:

 <template>

       <div class="hello"  v-on:click="hidePanel">

          <div id="myPanel" v-if="panelShow"></div>

       </div>

   </template>

js:

data () {
   return {
    panelShow: true
   }
}

关键的代码:

methods: {
  hidePanel: function(event){
    var sp = document.getElementById("myPanel");
    if(sp){
      if(!sp.contains(event.target)){           //这句是说如果我们点击到了id为myPanel以外的区域
        this.panelShow = false;
      }
    }
   }
}

相关文章

网友评论

      本文标题:动手在Vue中自己撸个弹窗?

      本文链接:https://www.haomeiwen.com/subject/fnoswhtx.html