封装前端UI组件库–dialog

封装前端UI组件库–dialog1 前言 dialog 弹窗组件库的实现 目前包括自定义内容 提示语 内容 底部按钮 弹窗的宽高等等 其中提示语 内容 弹窗的宽高的实现与 button 极其类似 请看上文 实现原理都是调用的时候传入参数 在自定义组件里面接收参数 根据参数再做具体的操作等等 2 自定义插槽的实现由于需要自定义传入的参数 提示语 内容 底部按钮都需要插槽传入 过多 接收的时候又都是用来接 所以为了区分需要用到自定义插槽 给插槽取个名字 1 使用

1、前言

在这里插入图片描述

dialog弹窗组件库的实现、目前包括自定义内容(提示语、内容、底部按钮、弹窗的宽高等等)、其中提示语、内容、弹窗的宽高的实现与button极其类似、请看上文(实现原理都是调用的时候传入参数、在自定义组件里面接收参数、根据参数再做具体的操作等等)。

2、自定义插槽的实现

由于需要自定义传入的参数(提示语、内容、底部按钮都需要插槽传入)过多、接收的时候又都是用来接、所以为了区分需要用到自定义插槽(给插槽取个名字)

1、使用

<my-dialog width="60%" top="200px" > <h3 slot="title">123</h3> <div>我是内容</div> </my-dialog> 

2、dialog组件定义

 <div v-if="$slots.title"> <slot name="title"></slot> </div> 

3、控制dialog的显示隐藏

1、在调用的时候传入用于控制显示隐藏的值 visible

2、在dialog组件接收该参数、显示隐藏的逻辑控制全部写在dialog组件里面

3、因此涉及到的问题就是子组件需要修改父组件的值(相当于组件的值传递,子—>父)

  • ​ 子组件向父组件发射一个事件
    handleClick() { this.$emit("update:visible", false); }, 
  • ​ 父组件使用sync语法糖直接就可修改
 <my-dialog :visible.sync="visible" > 

4、动画的实现

  1. 将要实现动画的代码块用transition包裹
     <transition name="dialog-fade"> </transition> 
  2. css实现动画
//动画实现 .dialog-fade-enter-active { //进入的动画 animation: run 0.1s; } .dialog-fade-leave-active { //离开的动画 animation: run 0.1s reverse; } @keyframes run { //动画 0% { opacity: 0; } 20% { opacity: 0.2; } 50% { opacity: 0.5; } 70% { opacity: 0.7; } 100% { opacity: 1; } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232304.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 语雀—好用的文档编写、知识沉淀的工具

    发现一个好用的文档编写、知识沉淀的工具——语雀。语雀—好用的文档编写、知识沉淀的工具简单介绍「语雀」是一个「专业的云端知识库」,孵化自 蚂蚁金服,是 体验科技]理念下的一款创新产品,已是 10 万阿里员工进行文档编写、知识沉淀的标配。语雀诞生伊始,只是希望能给工程师提供一个好用的工具用来写技术文档,达成「用 Markdown 写文档」这个小目标。但在产品研发的过程中,我们发现其实身边的…

    2022年2月28日
    79
  • 好用的在线客服系统PHP源码(开源代码+终身使用+安装教程)

    好用的在线客服系统PHP源码(开源代码+终身使用+安装教程)​在线客服系统是一套交互式沟通工具,采用PHP+MYSQL开发。高性能,不卡顿。使用它可以迅速缩小你的选择范围,联系多个供应商、客户等,也可以给你的企业一个关于用户体验的重大影响。

    2025年8月7日
    4
  • 手机丅f丅lcd什么屏_手机丅f丅lcd什么屏_全球首款屏下相机,90Hz OLED屏+4220mAh「建议收藏」

    手机丅f丅lcd什么屏_手机丅f丅lcd什么屏_全球首款屏下相机,90Hz OLED屏+4220mAh「建议收藏」在传统非全面屏手机时,指纹很好实现,放个传感器在屏幕下方区域就行了,但是全面屏时代,很多手机将指纹改为后置或者侧边指纹,不过后置太难看了,侧边指纹体验不是很好,还是屏幕指纹体验最好,OLED非常轻薄,而且具有一定的光通透性,因此可以实现屏幕指纹,指纹是解决了,但是前置摄像头的放置又是一个问题,刘海屏、水滴屏和挖孔屏都不能形成完美的真全面屏。不过功夫不负有心人,任何再难的技术,只要敢想就能实现,敢做…

    2022年8月10日
    11
  • Linux安装gcc的四种方法「建议收藏」

    Linux安装gcc的四种方法「建议收藏」相比于windows系统,Linux安装程序就比较复杂了,很多需要root用户才能安装。常见的有以下几种安装方法 源码安装 rpm包安装 yum安装(RedHat、CentOS) apt-get安装(debian,ubuntu) 源码安装以安装gcc为例,登陆https://gcc.gnu.org/,下载自己想要的版本的gcc安装包上传gcc-4.1.2.tar.gz到Linux服务器任意目录,解压解压目录执行shell命令./configurat.

    2022年5月26日
    90
  • 数仓分层理论_多元分层理论

    数仓分层理论_多元分层理论​数仓分层、元数据管理、数据质量管理

    2025年6月8日
    4
  • JAVA三元运算符_java中三元运算符详解

    JAVA三元运算符_java中三元运算符详解一:三元运算符条件表达式?取值1:取值2三元运算符是ifelse或者ifelseifelse的简写形式,可以使代码看起来简洁些。privateStringternary1(intfirst){System.out.println("=================================================================…

    2022年8月30日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号