
前言
这篇文章是笔者写组件设计的第四篇文章,之所以会写组件设计相关的文章,是因为作为一名前端优秀的前端工程师,面对各种繁琐而重复的工作,我们不应该按部就班的去"辛勤劳动",而是要根据已有前端的开发经验,总结出一套自己的高效开发的方法.作为数据驱动的领导者react/vue等MVVM框架的出现,帮我们减少了工作中大量的冗余代码, 一切皆组件的思想深得人心.所以, 为了让工程师们有更多的时间去考虑业务和产品迭代,我们不得不掌握高质量组件设计的思路和方法.所以笔者将花时间去总结各种业务场景下的组件的设计思路和方法,并用原生框架的语法去实现各种常用组件的开发,希望等让前端新手或者有一定工作经验的朋友能有所收获.今天要来实现一个高可定制的进度条组件,在介绍组件设计之前,我们先牢记以下几个原则.
每日一学: 组件设计三原则- 高内聚, 低耦合(尤其是vue/react组件中, 降低组件之间的耦合尤为重要)
- 组件边界划分清晰(每一个组件都有自己清晰的边界划分)
- 单一职责(每一个组件只负责某一特定的表现或者功能)
正文
在开始组件设计之前希望大家对css3和js有一定的基础.我们先看看实现后的组件效果:
1. 组件原理和设计思路
由于组件设计的前提还是基于需求, 所以我们第一步是要确认需求. 一个进度条组件一般都会有如下需求点:- 通过进度控制进度条长度
- 进度条总长度可以由用户来控制
- 随时修改精度条的额颜色(来自于设计师或产品经理独特而百变的审美)
- 当进度为100%时进度条可以自动消失(可能的需求)
- 进度提示文本(用户想知道当前长度下的具体进度, 比如体温计)
- 对于不同的进度节点,需要有不同的进度条颜色(比如游戏人物里的血, 快没血的时候为红色, 血满的时候为蓝色)
需求收集好之后,作为一个有追求的程序员, 会得出如下线框图:
上面的思维导图我们也知道了, 进度条组件的实现原理就是通过对外暴露一定的属性,使用css先画一个进度条, 最后通过属性和样式之间的调度来实现我们需求满满的进度条.至于如何画进度条,下面会详细介绍.

本文介绍了如何基于react设计一个高度可定制的进度条组件,包括组件设计原则、实现原理和详细步骤。组件允许用户自定义进度条长度、颜色,并在达到100%时自动消失,同时还支持进度提示和不同进度节点的颜色变化。
最低0.47元/天 解锁文章
1054

被折叠的 条评论
为什么被折叠?



