热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

vue抽屉_vue自定义抽屉组件仿iview

最近开始制作一些小的vue组件,通过在最开始的思考该如何实现,到考虑组件的复用中,自己真的成长也了解了更多的知识点,加深了对

最近开始制作一些小的vue组件,通过在最开始的思考该如何实现,到考虑组件的复用中,自己真的成长也了解了更多的知识点,加深了对之前一些知识点的模糊印象,现在就让我们开始吧!

GitHub地址:https://github.com/renfeiyan/VueDrawer

Drawer.vue

起初也没有这样复杂,简单的框架精简一下如下所示;

接下来进行一些样式设计: 遮罩层和抽屉面板内容本身 我们可以给他设计下层级关系,基本完成一些样式设计后基本就成形了,接下来进行下一步

考虑到组件复用性,所以我们需要用props接收一些参数,并且设置一些默认值

考虑到多个组件同时使用情况,所以我把style中的z-index提出来单独赋予它值,并在计算属性中重新计算它的值,因为它的值跟这是第几个抽屉是有关系的,在data中赋予它基本值根据父组件(使用这个组件的组件)传过来的drawerIndex层次值,进行相应计算,以达到第二层在第一层上的关系。

接下来是点击遮罩层或者是抽屉组件内部的X  ‘叉叉’ 进行关闭抽屉组件,这里我用的是css3的动画,使我点击btn的时候有个动画过程,较为美观一点,通过改变组件的可见或者是不可见,来实现关闭功能,具体的点击方法请看第一张图,使用的条件渲染v-if ,通过数据绑定 就可以避免多许多代码 。 当然自己封装的组件 尽量要让别人能够看懂 , 最好是自己 一边写一边备注 , 这样自己以后看的时候也会方便许多 ;

这个方法太多余,见替换方法如下图

进行双向数据绑定即可达到效果

自定义动画

这是我使用它的时候,写的双层代码,也使用了具名插槽 以达到效果 效果图如下 点击 遮罩层 和小叉叉 都可以进行关闭。

因为我还是个前端学习者,有任何问题或者bug欢迎向我提出,以便做出及时更改,一起加油啦!

~~~~~~~~~~~~~~~2019/8/11更新

这是更改后的另外一个版本,更简单,比我之前写的,请继续向下看



推荐阅读
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 深入理解iOS中的链式编程:以Masonry为例
    本文通过介绍Masonry这一轻量级布局框架,探讨链式编程在iOS开发中的应用。Masonry不仅简化了Auto Layout的使用,还提高了代码的可读性和维护性。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文将详细介绍Fuel CMS如何基于CodeIgniter框架构建,包括其单入口模式的实现方式及关键配置文件的作用。通过分析本地环境中的index.php和.htaccess文件,我们将更好地理解Fuel CMS的核心架构。 ... [详细]
  • 解决UIScrollView自动偏移问题的方法
    本文介绍了一种有效的方法来解决在使用UIScrollView时出现的自动向下偏移的问题,通过调整特定的属性设置,可以确保滚动视图正常显示。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 基于SSM框架的在线考试系统:随机组卷功能详解
    本文深入探讨了基于SSM(Spring, Spring MVC, MyBatis)框架构建的在线考试系统中,随机组卷功能的设计与实现方法。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有