封装dialog组件思路记录

本文记录了使用Vue.js封装一个对话框组件的过程,包括结构设计、动态控制宽高和位置、头部标题和关闭按钮的实现、插槽的使用、显示与隐藏的控制以及过渡动画的添加。通过props和自定义事件实现组件的交互,利用CSS深度选择器进行样式定制。
摘要由CSDN通过智能技术生成

封装对话框

结构:最外面的div是遮罩层,固定定位,有个透黑的底色,在遮罩div的里面是对话框,对话框的结构是头部、内容部分和底部,是上中下的结构。

动态控制对话框的宽度和距离顶部的位置:组件通过props接收width(默认50%)和top(15vh) :style='{width,marginTop:top}'

头部结构:分为左右,左边是标题,右边是关闭按钮.

动态控制头部标题,有俩个方案:传入title,动态改变标题,第二是传入动态的标签,所以需要预留一个slot占位符(插槽),name为title。             

最终实现:结构是通过slot包裹一个span标签,假如使用对话框组件时是传入一个动态标签(具体的插槽)作为标题,会把span给替换掉!

<div class='hm-header'>
  <slot name='title'>
     <span>{
  {title}}</span>
  </slot>
</div>

底部:预留一个name为foother的插槽

<div class='hm-foother' v-if='$solt.foother' >
  <slot name='foother'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值