uniapp时间轴组件如何使用
在uniapp中如何使用时间轴组件?官方文档没有找到相关说明,请问需要引入第三方组件还是uniapp自带?能否提供一个简单的代码示例,包括如何定义时间轴数据和样式调整?
2 回复
在uniapp中,使用时间轴组件需引入uni-timeline。在template中添加<uni-timeline>,内部用<uni-timeline-item>表示每个节点。通过title、content等属性设置内容,可自定义图标和颜色。
在 UniApp 中使用时间轴组件,可以通过官方扩展组件 uni-steps 或自定义实现。以下是两种方法:
1. 使用官方 uni-steps 组件
适用于步骤条形式的时间轴,展示进度或时间节点。
示例代码:
<template>
<view>
<uni-steps :options="steps" :active="currentStep"></uni-steps>
</view>
</template>
<script>
export default {
data() {
return {
currentStep: 1, // 当前激活步骤索引(从0开始)
steps: [
{ title: '步骤1', desc: '2023-10-01' },
{ title: '步骤2', desc: '2023-10-02' },
{ title: '步骤3', desc: '2023-10-03' }
]
}
}
}
</script>
属性说明:
options:步骤数据数组,包含title(标题)和desc(描述)。active:当前激活步骤索引。
2. 自定义时间轴
如果需要更灵活样式(如左侧时间轴),可通过 CSS 自定义:
示例代码:
<template>
<view class="timeline">
<view v-for="(item, index) in timelineData" :key="index" class="timeline-item">
<view class="timeline-dot"></view>
<view class="timeline-content">
<text class="timeline-time">{{ item.time }}</text>
<text class="timeline-title">{{ item.title }}</text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
timelineData: [
{ time: '2023-10-01', title: '事件1' },
{ time: '2023-10-02', title: '事件2' },
{ time: '2023-10-03', title: '事件3' }
]
}
}
}
</script>
<style>
.timeline {
padding: 20rpx;
}
.timeline-item {
display: flex;
margin-bottom: 30rpx;
}
.timeline-dot {
width: 20rpx;
height: 20rpx;
background: #007AFF;
border-radius: 50%;
margin-right: 20rpx;
flex-shrink: 0;
}
.timeline-content {
flex: 1;
}
.timeline-time {
display: block;
font-size: 24rpx;
color: #999;
}
.timeline-title {
font-size: 32rpx;
}
</style>
使用注意事项:
- 官方组件:需通过 HBuilderX 安装
uni-steps组件(右键项目 → 安装组件)。 - 自定义样式:通过调整 CSS 实现不同布局(如垂直/水平时间轴)。
- 数据绑定:动态数据可通过
v-for循环渲染。
根据需求选择合适方案,官方组件适合步骤流程,自定义代码可灵活控制样式和交互。

