弹框缩小关闭与打开

57 篇文章 0 订阅

弹框缩小关闭与打开

## 1.弹框缩小功能组建封装
<template>
  <div class="SmallDialog" v-show="tagList.length">
    <div v-for="(item, index) in tagList" :key="item.name" class="item" @click="openDialog(item, index)">
      <span class="iconfont icon-chuangkou_fangda"></span>
      <span>{{item.name}}</span>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tagList: []
    }
  },
  mounted() {
    this.$root.Bus.$on('smallDialog', (data) => {
      this.tagList.push({
        name: data.name,
        vueComponent: data.dialog,
        display: data.dialog.$el.style.display
      })
      data.dialog.$el.style.display = 'none'
    })
  },
  methods: {
    openDialog(item, index) {
      item.vueComponent.$el.style.display = item.display || 'block'
      this.tagList.splice(index, 1)
    }
  }
}
</script>

<style lang="scss">
.SmallDialog{
  position: absolute;
  left: 1450px;
  max-width: 900px;
  overflow: auto;
  bottom: 20px;
  z-index: 2;
  height: 52px;
  background: #fff;
  border: 2px solid #FFFFFF;
  box-shadow: 0px 10px 40px 0px rgba(1, 30, 33, 0.5), 0px 2px 5px 0px #FFFFFF;
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #0B4EA5;
  .item {
    padding: 0 20px;
    display: flex;
    align-items: center;
    cursor: pointer;
    .iconfont{
      font-size: 28px;
      margin-right: 12px;
    }
    &:not(:last-of-type){
      border-right: 1px solid #0B4EA5;
    }
  }
}
</style>
## 2.调用触发
    small() {
      this.$root.Bus.$emit('smallDialog', {
        name: '应急响应',
        dialog: this
      })
    }
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/8f66b0de959d40b5bcc12497e2c19be4.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d54820cf022541d6b56e89bd1098a081.png#pic_center)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值