返回

微信小程序物流状态时间轴开发步骤

前端

现在我们可以在微信小程序中开发一个物流状态时间轴,下面是开发步骤:

  1. 在父级容器中设置绝对定位(记得父级要设置相对定位哈),然后自己调位置,这是为了确保子级容器能够正确显示在父级容器中。

  2. 在中间子级容器中放三个子容器(设置时间轴线、点的样式),这三个子容器分别是时间轴线、点和文本。时间轴线是一条水平线,连接了所有的点。点是圆形,表示物流状态。文本是每个物流状态的。

  3. 在右边的子级容器中设置宽度和高度,并设置背景颜色。这个子级容器是物流状态的详细信息区域。

  4. 在JavaScript文件中,根据物流状态的数据动态生成时间轴线、点和文本。

  5. 在样式文件中,设置时间轴线、点和文本的样式。

  6. 运行小程序,测试物流状态时间轴是否正常显示。

代码示例

// 在JavaScript文件中,根据物流状态的数据动态生成时间轴线、点和文本
const app = {
  data: {
    logisticsStatus: [
      {
        time: '2023-01-01 00:00:00',
        status: '已发货',
      },
      {
        time: '2023-01-02 00:00:00',
        status: '运输中',
      },
      {
        time: '2023-01-03 00:00:00',
        status: '已签收',
      },
    ],
  },
  onLoad: function () {
    // 获取父级容器的宽度
    const parentWidth = wx.getSystemInfo().windowWidth;

    // 动态生成时间轴线、点和文本
    let logisticsStatus = this.data.logisticsStatus;
    let logisticsTimeline = '';
    for (let i = 0; i < logisticsStatus.length; i++) {
      let logisticsStatusItem = logisticsStatus[i];

      // 时间轴线
      logisticsTimeline += '<view class="timeline-line"></view>';

      // 点
      logisticsTimeline += '<view class="timeline-dot"></view>';

      // 文本
      logisticsTimeline += `<view class="timeline-text">${logisticsStatusItem.time} ${logisticsStatusItem.status}</view>`;
    }

    // 设置父级容器的宽度
    this.setData({
      parentWidth: parentWidth,
      logisticsTimeline: logisticsTimeline,
    });
  },
};

// 运行小程序
App(app);

运行效果

微信小程序物流状态时间轴效果图