vue 水平居中_Vue时间轴 vue-light-timeline的用法说明_vue.js

轻量的vue时间轴组件

install

npm install vue-light-timeline

如果你使用的是yarn

yarn add vue-light-timeline

usage

import LightTimeline from 'vue-light-timeline';

(LightTimeline);


<template>
 <light-timeline :items='items'></light-timeline>
</template>
 
export default {
 data () {
  return {
   items: [
    {
     tag: '2019-02-12',
     content: '测试内容'
    },
    {
     tag: '2019-02-13',
     type: 'circle',
     content: '练习内容'
    }
   ]
  }
 }
}

或者你还可以为时间轴的每个部分传递插槽:


<template>
 <light-timeline :items='items'>
  <template slot='tag' slot-scope='{ item }'>
   {
      {}}
  </template>
  <template slot='content' slot-scope='{ item }'>
   {
      {}}
  </template>
 </light-timeline>
</template>
<script>
export default {
 data () {
  return {
   items: [
    {
     date: '2019-02-12',
     msg: '测试内容'
    },
    {
     date '2019-02-13',
     msg: '练习内容'
    }
   ]
  }
 }
}

c722a0c985c109d37b6253e49587ca46.png

自己写个好看点的样式就行了

补充知识:Vue可移动水平时间轴

里程碑时间轴具体实现

效果图

da00ac37d992fcdbdb7415d6a8fedec7.png

编辑里程碑效果图

9d8d5e243a771dbfd8c45bc0c4db300c.png


<template>
<div class="state_grade">
<!--    <mile-stone :projectId="" :projectName="" :proNum=""></mile-stone>-->
    <div class="timeLine" style="overflow: hidden;">
     <div style="width: 10%; display: inline-block; margin-left: 5px;">
      <el-button @click="mileStoUpdateVisible = true" type="primary">编辑里程碑</el-button>
     </div>
     <div style="width: 70%;display: inline-block" align="center">
      <div style="width: 20%;display: inline-block; font-size: 14px;">里程碑状态:</div>
      <div style="width: 100px;display: inline-block; font-size: 14px; ">开始 <img class="node_picture" src="../../assets/images/"></div>

      <div style="width: 100px;display: inline-block; font-size: 14px;">超期 <img class="node_picture" src="../../assets/images/"> </div>

      <div style="width: 100px;display: inline-block; font-size: 14px;">关闭 <img class="node_picture" src="../../assets/images/"> </div>

     </div>

     <div class="my_timeline_prev" @click="moveLeft">
      <img src="../../assets/" class="my_timeline_node"/>
      <!--   <div class="my_timeline_item_line" style="margin-top: -18px;"></div>-->
      <!--   <div class="my_timeline_item_content" style="color: rgba(0,0,0,0);">上</div>-->
     </div>
     <div v-if="destroyIncomeStatistics" class="ul_box">
      <ul class="my_timeline" ref="mytimeline" style="margin-left: 10px;">
       <li class="my_timeline_item" v-for="(item,index) in timeLineList" :key="index">

        <el-tooltip placement="top" effect="light">
         <div slot="content" class="tooltip">
          <el-row>
           <el-col :span="24">{
      {'阶段名称:'+}}</el-col>
          </el-row>
          <el-row>
           <el-col :span="24">{
      {'阶段目标:'+}}</el-col>
          </el-row>
         
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用 Vite + Vue 3 的示例代码,演示了如何在项目中使用 Vue-iClient-MapboxGL 的时间轴(点)组件: 首先,确保已经安装了相关依赖包。在项目根目录下执行以下命令: ```bash npm install @supermap/vue-iclient-mapboxgl ``` 然后,可以按照下面的示例代码来编写你的 `main.js` 文件和组件文件。 main.js: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import iClientMapboxgl from '@supermap/vue-iclient-mapboxgl'; const app = createApp(App); // 注册Vue-iClient-MapboxGL组件 app.use(iClientMapboxgl); app.mount('#app'); ``` App.vue: ```vue <template> <div> <i-client-mapboxgl ref="map" :accessToken="accessToken" :styleUrl="styleUrl" :center="center" :zoom="zoom"> <i-client-timeline :data="timelineData" @change="changeTime"></i-client-timeline> </i-client-mapboxgl> </div> </template> <script> export default { name: 'App', data() { return { accessToken: 'your_access_token', styleUrl: 'http://localhost:8080/styles/basic.json', center: [0, 0], zoom: 2, timelineData: [ { time: 0, data: 'data1' }, { time: 25, data: 'data2' }, { time: 50, data: 'data3' }, { time: 75, data: 'data4' }, { time: 100, data: 'data5' }, ], }; }, methods: { changeTime(time) { // 根据时间点执行相应操作 console.log('Selected time:', time); // 示例代码:根据选定的时间加载数据图层或更新图层的显示内容 // ... }, }, }; </script> <style> #map { width: 100%; height: 400px; } </style> ``` 在上述代码中,我们首先在 `main.js` 文件中注册了 `Vue-iClient-MapboxGL` 组件,然后在 `App.vue` 组件中使用了 `i-client-mapboxgl` 组件作为容器来展示地图,并在其中嵌套了 `i-client-timeline` 组件作为时间轴。 在 `App.vue` 的 `data` 中,我们定义了一些地图相关的配置参数和时间轴的数据数组 `timelineData`。在 `changeTime` 方法中,可以根据选定的时间点执行相应的操作。 请注意替换 `accessToken` 和 `styleUrl` 的值为你自己的 Access Token 和样式地址。 这是一个简单的示例,你可以根据自己的需求进行相应的调整和扩展。希望对你有所帮助!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值