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

vue根据按钮id禁用_源码时代前端干货分享|从零动手封装一个通用的vue按钮组件...

我们在使用目前最主流的前端框架vue在开发过程中,组件是一个非常重要的组成部分,可以这么说,所有的vue应用,都是由一个一个

我们在使用目前最主流的前端框架vue在开发过程中,组件是一个非常重要的组成部分,可以这么说,所有的vue 应用,都是由一个一个的小组件拼装而成的。

正是由于vue组件如此重要,所以vue的生态中,也非常多的UI组件库,其中最著名的非Element-UI莫属,里面有非常多的封装完善的组件提供给我们使用,大大的增强了我们的开发效率。

那么,这些UI框架的组件,究竟是如何封装的呢?如何动手从零开始封装自己的组件呢?接下来,我们就从最简单的一个Button的组件封装说起。如下,是Element-UI中的按钮组件,接下来,我们就一步一步来实现它们。

eab528b057fce1d5500b558e760e44ec.png

首先,定义一个组件index.vue,配置路由渲染出来

8a06340b26db30297c7107597cea683b.png

其次,自己定义一个组件my-butotn, 写好基本的样式,按钮中间,使用插槽占位。

写好按钮的基本样式,代码如下

0b97f69338197cb620e941b049fc2916.png
5ba420d30bbbe64853d5a89899d4b9c8.png

效果如下:

5fb4a00e8a32351a086e266629269808.png

然后,我们先来实现type属性,根据type的不同,渲染不同的默认颜色效果,主要是通过传入的type不同,里面渲染不同的类,实现不同的样式效果,核心代码如下

6dfdb4789748e27f3bcc0be6f30b53fa.png
30ec1a585c722ef9d7a99f1d4d8cbfb9.png

实现出来的效果如下图:

812a07843fc6d1ff5e53281889a237ba.png

接下来,我们来实现size属性,通过传入不同的size,实现不同的尺寸的按钮的控制。

核心代码如下:

62dc3ea668b189c0a1036ab1101aef53.png

}

162b31c4b28279b8eb719c7d7f2e7533.png
d006f3cbbbe666b5f5d41a01a8382293.png

实现效果如下:

6e343ceb207828e3d6ad9768cdabbdc2.png

那么,我们还可以控制按钮是否是圆角按钮,通过设计一个属性round,如果在使用按钮的时候,传入了属性round,那么这个按钮就是圆角按钮。代码如下

37e73d2481890b019a69644460b36a95.png
a8c9dd00f3152ccc64fdcbb53c7c716d.png

实现的效果如下:

e9971db88911b73b2ec5ad6dd65d9df9.png

最后,我们来实现以下按钮的应用效果,只要在使用自定义组件的时候,传入diabled属性,那么禁用效果就生效,否则,效果就不生效。代码如下:

d70f148c2589d90fbee62eb2a538a6b1.png
21d2efaacd6f36ebc628133684195e4b.png

最终实现效果如下:

a157e539d92da363fd3ef246c942e34a.png

综上所述,我们就一步一步的动手,从零实现了一个通用的按钮组件,实现了type控制按钮的表现效果,size控制按钮的尺寸,round属性控制按钮是否是圆角,和disable属性控制按钮是否禁用,那么其他组件的封装其实也大同小异,请大家持续关注后续文章。



推荐阅读
author-avatar
lksxq_468
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有