项目中elementui时间线的使用~✔✔
Vue项目项目中经常会遇到事件线的功能Timeline,比如说快递跟踪功能等。element.js 时间线的使用,先来看效果图
是因为element2.6.0之前的版本不支持时间线组件了。所有下载安装比较麻烦。这里推荐使用本地组件:直接放在pluginis目录下,然后引入就可以
timeline文件和timeline-item文件我放在的博客文件夹里 。
(1)在使用时间线的文件中,导入时间线(在引入UI组件库的element.js中)
// 导入时间线 (from后面是自己的路径)
import Timeline from './timeline/index'
import TimelineItem from './timeline-item/index'
// 在全局注册
Vue.use(Timeline)
Vue.use(TimelineItem)
(2)html标签里使用
<!--icon和color根据后台返回的数据来控制或渲染,这里直接了,没有后台返回数据-->
<!-- 展示物流进度对话框-->
<el-dialog title="物流进度" :visible.sync="progressVisible" width="50%">
<!-- 时间线进度线-->
<el-timeline>
<el-timeline-item
v-for="(activity, index) in progressInfo"
:key="index" :timestamp="activity.time"
icon='el-icon-check' color='#67C23A'>
{{ activity.context }}
</el-timeline-item>
</el-timeline>
</el-dialog>
data:
code(固定数据)
// 时间线
activities: [
{
content: '快件已签收 签收人:家人 感谢使用圆通快递 期待再次为您服务',
timestamp: '2018-04-15 13:07:40',
},
{
content:
'[北京市]北京海淀育新小区营业点派件员 顺丰速运 95338正在为您派件',
timestamp: '2018-05-10 07:32:00',
},
{
content: '快件到达 [北京海淀育新小区营业点]',
timestamp: '2018-05-10 08:23:00',
},
{
content:
'快件在[北京顺义集散中心]已装车,准备发往 [北京海淀育新小区营业点]',
timestamp: '2018-05-10 02:03:00',
},
{
content: '快件到达 [北京顺义集散中心]',
timestamp: '2018-05-09 23:05:00',
},
{
content: '快件在[北京宝胜营业点]已装车,准备发往 [北京顺义集散中心]',
timestamp: '2018-05-09 21:21:00',
},
{
content: '商品已经下单',
timestamp: '2018-05-08 21:36:04',
},
],
后台获取数据:
async showProgressBox() {
const {data: res} = await this.$http.get('/kuaidi/804909574412544580')
if (res.meta.status !== 200) {
return this.$message.error('获取物流信息失败!')
}
this.$message.success('获取物流信息成功!')
this.progressInfo = res.data
this.progressVisible = true
console.log(this.progressInfo)
}
注:progressInfo,progressVisibledata里定义
css样式:
<style lang="less" scoped>
@import '../../plugins/timeline/timeline.css';
@import '../../plugins/timeline-item/timeline-item.css';
</style>
最终效果: