封装前端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)
上一篇 2025年10月19日 下午6:01
下一篇 2025年10月19日 下午6:22


相关推荐

  • python 字符串转义

    python 字符串转义在需要在字符中使用特殊字符时 python 用反斜杠 转义字符 原始字符串有时我们并不想让转义字符生效 我们只想显示字符串原来的意思 这就要用 r 和 R 来定义原始字符串 如 printr t r 实际输出为 t r 转义字符描述 在行尾时 续行符 反斜杠符号 单引号 双引号 a 响铃 b 退格 Backspace e 转义 0

    2026年3月19日
    2
  • mac查看和配置node环境变量

    mac查看和配置node环境变量一、检查PATH配置是否正确1.查看npm全局包可执行文件路径npm-gbin2.查看PATH环境变量echo$PATH如果PATH里不包括第一步的路径,说明环境变量没有配置好。二、配置PATH1.打开配置文件vi./.bash_profile2.添加一行PATH(按i进入insert才能编辑)PATH=$PATH:/usr/l…

    2022年6月1日
    635
  • (c,c++,java)爱心代码(狗粮)

    (c,c++,java)爱心代码(狗粮)今天(2019/8/7)是七夕,撒一波狗粮!有些人对计算机类的学生和程序员们有一点的误解,这是不对的。其实当他们浪漫起来的时候就没有其他人什么事了哈哈c款狗粮:#include<stdio.h>#include<math.h>intmain(){ printf(“\n”); printf(“\n”); printf(“\n”); printf(“…

    2022年10月13日
    4
  • 列表中字符串按照某种规则排序的方法(python)

    列表中字符串按照某种规则排序的方法(python)

    2021年11月19日
    63
  • docker如何卸载_docker删除container

    docker如何卸载_docker删除container1首先搜索已经安装的docker安装包yumlistinstalled|grepdocker或者使用该命令rpm-qa|grepdocker分别删除安装包yum–yremovedocker.x86_64yum–yremovedocker-client.x86_64yum–yremovedocker-common.x86_643删除docker镜像rm-rf/var/lib/docker4再次checkdocker是否已经卸载成功

    2025年8月27日
    13
  • spring ioc源码解析_spring事务源码深度解析

    spring ioc源码解析_spring事务源码深度解析SpringApplication源码解析运行SpringApplication的方式在创建SpringBoot应用,我们经常看到SpringApplication.run(ApplicationConfiguration.class,args);那有没有其他方式可以运行SpringApplication,答案是有的。我们可以通过自定义SpringApplication来实现Sprin…

    2025年10月15日
    6

发表回复

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

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