微信小程序实现流程进度样式代码
- 更新时间:2020-03-24 16:50:23
- 编辑:何虹雨
最近正在做微信小程序,需要实现一个流程进度的图样式如下面
需求:
- 没完成的灰色小圆点表示
- 完成的使用蓝色小圆点设置
- 当前状态使用有外圈的小圆点表示
实现起来比较简单,实现思路,使用一个列表实现,列表中的每一个item的样式如下图
使用win10画板画的不好看
图上的意思就是每个item 前面有一段线条 中间是个圆圈然后后面有一段线条。之所以这样是因为下面的文字需要居中显示在圆圈的下面。如果不需要文字的话可以一个圆圈后面跟一条直线会更简单一点。
按照上面的图片,html布局为下面
<view class='order_process'> <view class='process_wrap' wx:for="{{processData}}" wx:key=""> <view class='process'> <view class='process_line' ></view> <image class='process_icon' src="{{item.icon}}"></image> <view class='process_line' ></view> </view> <text class='process_name'>{{item.name}}</text> </view> </view>
OK 列表肯定需要一个数组啦数组如下面
processData: [{ name: '提交工单', start: '#fff', end: '#EFF3F6', icon: '../../img/process_1.png' }, { name: '已接单', start: '#EFF3F6', end: '#EFF3F6', icon: '../../img/process_1.png' }, { name: '开始维修', start: '#EFF3F6', end: '#EFF3F6', icon: '../../img/process_1.png' }, { name: '维修结束', start: '#EFF3F6', end: '#EFF3F6', icon: '../../img/process_1.png' }, { name: '已确认', start: '#EFF3F6', end: '#fff', icon: '../../img/process_1.png' }], },
按照上面的item图片我们会看到直接显示的话两边会多处一条线来怎么去掉这两条线呢,很简单,让父容器的背景颜色跟先的颜色一样就好啦。
把父布局的背景改为白色,然后控制列表中第一个item中的前面的线段的颜色为白色,最后一个item中的后面的线段为白色。这样看起来两边的线段就去掉了
当数据改变的时候,我们只需要改变数组中对象的属性就好了。不如下面的做参考
//进度条的状态 setPeocessIcon: function () { var index = 0//记录状态为1的最后的位置 var processArr = this.data.processData // console.log("progress", this.data.detailData.progress) for (var i = 0; i < this.data.detailData.progress.length; i++) { var item = this.data.detailData.progress[i] processArr[i].name = item.word if (item.state == 1) { index = i processArr[i].icon = "../../img/process_3.png" processArr[i].start = "#45B2FE" processArr[i].end = "#45B2FE" } else { processArr[i].icon = "../../img/process_1.png" processArr[i].start = "#EFF3F6" processArr[i].end = "#EFF3F6" } } processArr[index].icon = "../../img/process_2.png" processArr[index].end = "#EFF3F6" processArr[0].start = "#fff" processArr[this.data.detailData.progress.length - 1].end = "#fff" this.setData({ processData: processArr }) },
上面代码的数据中,使用state代表完成和没完成。我们把完成的设置为蓝色 把没完成的设置为灰色。
使用 index 来记录是不是当前点(当前点就是state表示完成的最后一个)。
最后css中的代码也很简单
.order_process { display: flex; flex-wrap: nowrap; padding: 10rpx 10rpx 20rpx 10rpx; background-color: #fff; } .process_wrap { display: flex; flex-direction: column; flex: 1; align-items: center; } .process { display: flex; align-items: center; width: 100%; } .process_icon { width: 50rpx; height: 50rpx; } .process_line { background: #eff3f6; flex: 1; height: 5rpx; } .process_name { font-size: 24rpx; }
总结
以上所述是小编给大家介绍的微信小程序实现流程进度的图样式功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!
相关教程
-
微信小程序中生成带参小程序码流程方法
这篇文章主要为大家详细介绍了微信小程序云开发,生成带参小程序码,云函数网络请求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2019-11-29
-
微信小程序开发零基础入门
★从易到难、由浅入深,更轻轻松松地把握小程序开发设计的各种各样专业知识。 ★普遍涉及到、重中之重凸出,更全方位系统化学习培训小程序定制开发的各种各样方式 。 ★基础理论相结
大小:273.6 MB小程序开发电子书
-
微信小程序运营实战
小程序给用户带来怎样的价值?小程序给中小企业带来怎样的机遇?传统企业如何借助小程序实现移动化转型?企业如何利小程序实现品牌营销?商家如何借助小程序进行运营推广
大小:33.4 MB微信小程序电子书
-
小程序 巧应用:微信小程序开发实战
《小程序,巧应用:微信小程序开发实战》 系统全面地讲解微信小程序的开发技术。开篇创建一个小程序项目并解析体验,介绍如何由零开始创建一个小程序,全面体验小程序的开发工具、界
大小:79.9 MB小程序电子书
-
微信开发深度解析:微信公众号、小程序高效开发秘籍
《微信开发深度解析:微信公众号、小程序高效开发秘籍》 以深度剖析Senparc.Weixin SDK框架的设计思想和使用方法为主干,全面介绍了开发微信公众号(包含了订阅号、服务号和小程序)所需的
大小:296.8 MB微信开发
-
微信小程序开发入门精要
本书系统全面、循序渐进地介绍了进行微信小程序开发的各方面知识、经验和技巧。微信小程序开发入门精要 内容包含目前微信小程序支持的所有组件和API的详细介绍,以及使用方法演示,并
大小:147 MB微信开发电子书
-
微信小程序:分享微信创业2.0时代千亿红利
小程序是一个新的概念,给创业者、投资者、程序员带来了福音。小程序是互联网创业的新方向,是投资机构的热门话题,也为程序员降低了工作强度。面对这一热点,很多人想投身其中,但
大小:4.26 MB微信小程序电子书
-
微信小程序:开发入门及案例详解
《微信小程序:开发入门及案例详解》 本书全面介绍微信小程序的开发思路、技术、工具与案例,涉及小程序开发的方方面面。主要内容包括:前端开发基础、小程序开发基础、小程序组件、
大小:31.4 MB微信小程序电子书
-
知晓程序:微信小程序入门指南
本教程是一本分析小程序生态、解读小程序产品设计与开发的入门图书。全书共7章,全面讲解了小程序的基本知识、小程序将给我们带来什么改变、小程序上手案例、如何转行小程序开发、电
大小:6.9 MB小程序开发电子书