element中根据条件判断按钮是否禁用_从零动手封装一个通用的vue按钮组件

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

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

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

fcc8609c7c58607a5c4ef73c89122ffe.png

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

2db05beb68e70e7e404b97d621ee0de6.png

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

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

3285346cededd5d3847627626f4e9b5a.png
7dac1b4b5a9f354035a5187b5cef42d3.png

效果如下:

07a51b039d8b35e94ca3fb50f78975a8.png

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

086d3d21b8203c5fec1147e22910451d.png
465b4e136ef07a0657c166d88150e038.png

实现出来的效果如下图:

6c5d21e6b1cf18989609f9725eb84b3c.png

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

核心代码如下:

7ffbfed2f36b342674834b116246f872.png
ce171b006aa16f8abba7969c2d80b6df.png
13c670fb29facfc0b4afdc322df5805f.png

实现效果如下:

6130924f0d84279ba36982e400fff19c.png

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

c9a7ebfc3d1f38d8e0589e56cf6cf848.png
65f82450a5f8b23bb000ae9d548339dd.png
e955284d1cee1641f4cb6b20765125bc.png

实现的效果如下:

efb6e84339968b733e68ea267047c3e1.png

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

a7adf89815bd05f0da5da626750beb68.png
11ebda9128024160281f7dc54895e02f.png

最终实现效果如下:

48f15dc583f4396b39695ff27afb40d8.png

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值