热门标签 | 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更新

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



推荐阅读
  • 本文详细介绍了如何在ECharts中使用线性渐变色,通过echarts.graphic.LinearGradient方法实现。文章不仅提供了完整的代码示例,还解释了各个参数的具体含义及其应用场景。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本报告涵盖了个人博客账号和码云账号的注册过程,以及对网络工程专业学习的反思与展望。通过回顾初入大学时的专业选择,分析当前的专业知识和技能水平,并对未来的职业规划进行了详细讨论。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • ThinkPHP框架中处理JS和CSS缓存问题的解决方案
    本文探讨了在ThinkPHP框架中,当启用调试模式(APP_DEBUG)时,删除public文件夹中的CSS和JS文件后页面仍然显示旧样式的问题,并提供了一种有效的解决方法。 ... [详细]
  • Composer Registry Manager:PHP的源切换管理工具
    本文介绍了一个用于Composer的源切换管理工具——Composer Registry Manager。该项目旨在简化Composer包源的管理和切换,避免与常见的CRM系统混淆,并提供了详细的安装和使用指南。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 本文介绍如何使用Perl编写一个简单的爬虫,从丁香园网站获取意大利的新冠病毒感染情况。通过LWP::UserAgent模块模拟浏览器访问并解析网页内容,最终提取所需数据。 ... [详细]
  • TCP长连接设备管理平台:架构与功能概览
    本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ... [详细]
  • 深入理解ASP.NET MVC中的_ViewStart.cshtml
    本文介绍了_ViewStart.cshtml文件在ASP.NET MVC 3.0及以上版本中的作用和使用方法。该文件位于Views目录下,主要用于统一配置视图布局和其他全局设置。 ... [详细]
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社区 版权所有