效果图:

1.首先在小程序components目录下新建一个名为step的文件夹,再建step组件名。结构如下。

直接上代码

step.wxml

<view class="step" wx:key="{{item}}" wx:for="{{stepList}}">
<view class="item_left">
<view class="line {{item.status==0?'':'active'}}" hidden="{{index==stepList.length-1}}"></view>
<view class="iconbox">
<view class="circle {{item.status==0?'':'active'}}"></view>
</view>
</view>
<view class="item_right">
<view class="item_title" hidden="{{item.title==''}}">{{item.title}}</view>
<view class="item_content">
<view class='cntext' hidden="{{item.name==''}}">{{item.name}}</view>
<view class='cntext' hidden="{{item.event==''}}">{{item.event}}</view>
<view class='cntext' hidden="{{item.time==''}}">{{item.time}}</view>
</view>
</view>
</view>

step.wxss

.step {
display: flex;
flex-direction: row;
} .item_left {
width: 60rpx;
display: flex;
justify-content: center;
position: relative;
margin-left: 10rpx;
} .line {
width: 2rpx;
height: 85%;
align-self: flex-end;
background-color: gray;
} .iconbox {
width: 100%;
height: 60rpx;
position: absolute;
display: flex;
justify-content: center;
} .circle {
width: 30rpx;
height: 30rpx;
border-radius: 50%;
background-color: gray;
flex-shrink: 0;
} .active {
background-color: red;
} .item_right {
width: 100%;
display: flex;
flex-direction: column;
margin-left: 10rpx;
margin-right: 10rpx;
} .item_title {
width: 100%;
height: 30rpx;
display: flex;
align-items: center;
font-weight: bold;
font-size: 26rpx;
} .item_content {
width: 100%;
} .cntext {
width: 100%;
font-size: 24rpx;
}

step.js

Component({
/**
* 组件的属性列表
*/
properties: {
//步骤条数据
stepList: {
type: Array,
value: [
{
title: "主题",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "主题",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "主题",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "1"
},
{
title: "主题",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
}
]
}
}, /**
* 组件的初始数据
*/
data: { }, /**
* 组件的方法列表
*/
methods: { }
})

step.json

{
"component": true,
"usingComponents": {}
}

2.引用:

全局引用:在app.json文件中添加代码

    "usingComponents": {
"step": "/components/step/step"
},

局部引用:在想要引用的页面json文件中添加代码

"usingComponents": {
"step": "/components/step/step"
},

3.(1)在wxml里使用

<step class="stepitem" id="step" stepList="{{stepList}}"></step>

(2)js添加数据

    data: {
stepList: [
{
title: "已接单",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "待支付",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "待提货",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "提货中",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "送货中",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
{
title: "已签收",
name: "名称",
event: "步骤内容",
time: "2021-07-19:12:30:01",
status: "0"
},
]
},

4.到此结束。

微信小程序:流程/步骤流/时间轴自定义组件的更多相关文章

  1. 微信小程序 导航(a 连接)自定义组件

    导航:navigator 组件 组件上的属性: target:跳到其他小程序( 默认是当前小程序 ),当属性值为 miniProgram 时,跳到别的小程序(如果要跳到别的小程序,需要填写 appid ...

  2. 微信小程序之圆形进度条(自定义组件)

    思路 使用2个canvas 一个是背景圆环,一个是彩色圆环. 使用setInterval 让彩色圆环逐步绘制. 在看我的文章前,必须先看 ,下面转的文章,因为本文是在它们基础上修改的. 它们的缺点为: ...

  3. 微信小程序~项目步骤和流程

    从运营的角度讲制作,不是从程序的角度讲开发,所以简单明晰,通俗易懂,小白也能按照流程完成制作. 微信小程序制作步骤及流程 1.确定好微信小程序的的定位和目的 如行业,功能,内容,目标用户,目标市场,意 ...

  4. 使用uni-app(Vue.js)创建运行微信小程序项目步骤

    使用uni-app(Vue.js)开发微信小程序项目步骤 1. 新建一个uni-app项目   创建完成后的目录结构 2. 打开微信小程序开发工具端的端口调试功能 3. 运行创建的项目 效果

  5. 微信小程序把玩(十八)picker组件

    原文:微信小程序把玩(十八)picker组件 picker选择器分为三种,普通选择器,时间选择器, 日期选择器 用mode属性区分,默认是普通选择器.测试时时间和日期点击无反应不知道是BUG还是啥!没 ...

  6. 微信小程序-基于高德地图API实现天气组件(动态效果)

    微信小程序-基于高德地图API实现天气组件(动态效果) ​ 在社区翻腾了许久,没有找到合适的天气插件.迫不得已,只好借鉴互联网上的web项目,手动迁移到小程序中使用.现在分享到互联网社区中,帮助后续有 ...

  7. 微信小程序把玩(二十七)audio组件

    原文:微信小程序把玩(二十七)audio组件 音频播放已经封装的很好!只需配合属性设置即可! (method和data配合使用) 主要属性: wxml <audio action="{ ...

  8. 微信小程序把玩(二十三)modal组件

    原文:微信小程序把玩(二十三)modal组件 modal弹出框常用在提示一些信息比如:退出应用,清楚缓存,修改资料提交时一些提示等等. 常用属性: wxml <!--监听button点击事件-- ...

  9. 微信小程序把玩(十九)radio组件

    原文:微信小程序把玩(十九)radio组件 radio组件为单选组件与radio-group组合使用,使用方式和checkbox没啥区别 主要属性: wxml <!--设置监听器,当点击radi ...

  10. 微信小程序把玩(二十)slider组件

    原文:微信小程序把玩(二十)slider组件 slider滑动组件用的不太多,在其他平台反正我是用的不多 主要属性: wxml <slider max="100" step= ...

随机推荐

  1. 直播带货源码,flutter 顶部滚动栏+页面

    直播带货源码,flutter 顶部滚动栏+页面 tabPage.dart import 'package:flutter/cupertino.dart';import 'package:flutter ...

  2. 可收集ALC问题[A non-collectible assembly may not reference a collectible assembly.]

    ITask程序集在共享类库中定义,初衷是任务调度程序,创建新的可卸载ALC以供每一个任务运行,此时会出现两个问题: 任务调度程序加载了任务程序后,任务程序中的ITask类型和任务调度程序中的ITask ...

  3. Scala集合总结

    Scala同时支持可变集合和不可变集合,包含两个包: 可变集合:scala.collection.mutable 不可变集合:scala.collection.immutable Scala默认采用不 ...

  4. WebSocket服务

    package com.sxsoft.admin.Component; import com.alibaba.fastjson.JSON; import io.netty.handler.codec. ...

  5. [Oracle19C 数据库管理] 配置数据库审计

    以下内容未经整理 占位 强制审计:无法关闭此审计,比如记录数据库的开启和关闭. 标准审计: 基于值得审计:创建触发器,基于值进行记录.Trigger占用资源多 细粒度审计:加一些where条件,针对触 ...

  6. BIP查询框添加查询条件

    // 搜索框添加查询条件 viewModel.on("afterMount", function (data) { let agentId = viewModel.getParam ...

  7. 这些有用的CSS伪类通常被忽略

      这些有用的CSS伪类通常被忽略 这篇文章在一定程度上鼓励你在构建UI时使用更简单的CSS和更少的JavaScript. ::first-line 选择文本的第一行 这个选择器用于选取指定选择器的首 ...

  8. 面试之CAS

    1.CAS(Compare And Swap)比较并替换,是线程并发运行时用到的一种技术或者算法,CAS与之对应的是一些锁技术,,例如synconozied,同事这种比较替换的思想也可以运用到数据库上 ...

  9. 监控本机环境生成SQL脚本

    在开发工作中我们客户端连接 测试服务器开发工作,往往很多人操作数据库,如何甄别出自己操作 方法一: 在程序配置节点设置App节点,譬如: <add name="ModelEntitie ...

  10. Win10应用商店经常遭遇打不开的情况,如错误代码0x80131500

    1.用"win + R"打开运行 2.输入 inetcpl.cpl 打开Internet属性(或从IE浏览器设置打开) 3 点击高级选项 4 找到并勾选 TLS 1.2,取消勾选T ...