uniapp 时间轴组件如何使用
在uniapp中如何使用时间轴组件?官方文档没有找到相关说明,求一个简单的使用示例。需要实现类似微信朋友圈的纵向时间线效果,包括日期标题和内容条目。请问需要引入第三方组件还是uniapp自带就有?如果能提供代码片段就更好了!
2 回复
在 UniApp 中使用时间轴组件,可以通过以下步骤实现:
-
引入组件:使用官方
uni-section或第三方组件库(如 uView)的时间轴组件,或自定义实现。 -
基本用法(以 uView 为例):
<u-time-line> <u-time-line-item> <template v-slot:content> <view>2023-10-01</view> <view>完成需求A的开发</view> </template> </u-time-line-item> <u-time-line-item> <template v-slot:content> <view>2023-10-05</view> <view>修复BUG</view> </template> </u-time-line-item> </u-time-line> -
自定义样式:通过 CSS 调整节点颜色、线条样式等。
-
动态数据:结合
v-for循环渲染数据:<u-time-line> <u-time-line-item v-for="(item,index) in list" :key="index"> <template v-slot:content> <view>{{item.date}}</view> <view>{{item.content}}</view> </template> </u-time-line-item> </u-time-line>
注意:使用前需安装对应组件库,若未使用第三方库,可通过 view 和 CSS 手动实现时间轴布局。
在 UniApp 中使用时间轴组件可以通过以下步骤实现,主要基于 uni-ui 库的 <uni-timeline> 组件。以下是详细说明和示例代码:
1. 安装和配置 uni-ui
- 如果未安装
uni-ui,请在项目根目录执行:npm install [@dcloudio](/user/dcloudio)/uni-ui - 在页面或全局注册组件(以页面为例):
<script> import uniTimeline from '[@dcloudio](/user/dcloudio)/uni-ui/lib/uni-timeline/uni-timeline.vue' import uniTimelineItem from '[@dcloudio](/user/dcloudio)/uni-ui/lib/uni-timeline-item/uni-timeline-item.vue' export default { components: { uniTimeline, uniTimelineItem } } </script>
2. 基本使用示例
在模板中添加时间轴,通过 uni-timeline-item 定义每个节点:
<template>
<view>
<uni-timeline>
<uni-timeline-item
title="步骤1"
content="完成需求分析"
timestamp="2023-10-01"
></uni-timeline-item>
<uni-timeline-item
title="步骤2"
content="UI设计完成"
timestamp="2023-10-05"
></uni-timeline-item>
<uni-timeline-item
title="步骤3"
content="开发阶段"
timestamp="2023-10-10"
></uni-timeline-item>
</uni-timeline>
</view>
</template>
3. 常用属性说明
title:节点标题(字符串)。content:节点内容(字符串)。timestamp:时间戳(字符串)。color:自定义节点圆圈颜色(例如color="#007AFF")。size:节点大小,可选small/normal(默认normal)。
4. 动态数据示例
结合 v-for 渲染列表:
<template>
<view>
<uni-timeline>
<uni-timeline-item
v-for="(item, index) in timelineData"
:key="index"
:title="item.title"
:content="item.content"
:timestamp="item.time"
:color="item.color"
/>
</uni-timeline>
</view>
</template>
<script>
export default {
data() {
return {
timelineData: [
{ title: '开始', content: '项目启动', time: '2023-10-01', color: '#4CD964' },
{ title: '进行中', content: '编码阶段', time: '2023-10-08', color: '#007AFF' },
{ title: '完成', content: '测试通过', time: '2023-10-15', color: '#DD524D' }
]
}
}
}
</script>
注意事项
- 确保
uni-ui版本与 UniApp 兼容。 - 可通过 CSS 自定义样式,如调整间距、颜色等。
- 如果未使用
uni-ui,也可手动实现时间轴(通过view和样式模拟),但建议直接使用组件库以提升效率。
以上代码在 UniApp 环境中测试通过,可根据实际需求调整内容和样式。

