项目中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>

最终效果:

 

 

posted @ 2022-11-29 11:38  Mahmud(مەھمۇد)  阅读(2023)  评论(0编辑  收藏  举报