element 时间轴,

  element 时间轴,

  本文主要介绍elementstep组件是用时间轴显示在另一边的。文章通过示例代码对其进行了非常详细的介绍,对大家的学习或工作都有一定的参考价值。有需要的朋友下面和边肖一起学习。

  这是我在开发时遇到的一个问题:项目需要在step栏的另一侧(垂直方向)随时间显示,但我一直没能在element ui的step组件中找到一个设置方法,所以我想出了一个自己添加的方法。效果如下:

  代码如下,首先在HTML部分:

  div class= delate-step v-if= detail content . handle _ list . length!==0

  Span处理链接:/span

  div style= width:100%;高度:300px填充-底部:40px显示:表格;上边距:10px

  div class=delate-step-lt

  差异

  延迟时间

  :style= { top :` $ { index *(300-46)/(detail content . handle _ list . length-1))4 } px `}

   detailContent.handle_list中的v-for=(item,index

  :key=index

  {{item.h_time}}/div

  /div

  div class=delate-step-rt

  El-steps direction= vertical :active= delate _ result

  el步骤

   detailContent.handle_list中的v-for=(item,index

  :key=index

  :title=item.department

  :description= item . h _ result=== null ?:item.h_result

  /El-步骤

  /El-步骤

  /div

  /div

  /div

  然后是css部分:延迟-步骤-lt {

  宽度:80px

  颜色:# 818181;

  字体大小:13px

  显示:表格单元;

  位置:相对;延迟时间{

  位置:绝对;

  //:第一个孩子{

  //top:4px;

  //}

  //:第n个子代(2) {

  //top:80px;

  //}

  //:第n个子代(3) {

  //top:170 px;

  //}

  //:最后一个孩子{

  //bottom:24px;

  //}

  }

  }。延迟-步骤-rt {

  显示:表格单元;

  }

  现在来说说实现过程:

  (1)首先在最外层包裹一个大div,然后为其设置display: table属性,使其下面的两个子div高度相同(需要为两个子div设置display: table-cell属性)。

  (2)然后将时间轴放在左边的div中。你需要为这个div设置一个属性position:relative,将元素ui的step组件放在右边的div中,这样时间轴就呈现在垂直step的另一边。

  (3)剩下的是关于步骤标题的显示位置和横向显示。首先,为每个显示的时间轴设置绝对定位属性position:absolute。一开始想到用css的伪类来设置。正如上面css部分注释的代码,效果还可以,但是后来我觉得我的step步骤数是动态的。如果步数发生变化(或多或少),那么css设置的样式就没用了,那么这条路就走到尽头了(但如果步数固定,直接设置也没问题);后来想起了vue的样式绑定属性:style,于是有了如下计算:

  :style= { top :` $ { index *(300-46)/(detail content . handle _ list . length-1))4 } px `}

  Index -遍历的每个时间轴数据的下标是300-整个step组件的高度(可以根据自己的需要调整),46-因为我设置了padding-bottom为46,所以减去这个值,detail content . handle _ list-timeline数组,4-因为第一个显示在最上面,再加40。

  计算过程:将step bar的显示高度(300-46)除以detail content . handle _ list . length-1(因为第一个默认在top:0px的位置,所以我们只需要计算剩下的detail content . handle _ list . length-1时间轴数据显示的位置),这样就可以得到各个时间轴之间的距离,然后将各个时间轴的下标相乘,将相乘的结果设置为各个时间轴div的top值,这样时间轴就可以按照想要的结果显示了。

  这是我想到的一个解决方案,可能会有一些错误或者不足。如果有什么比较好的方法或者插件,可以指出来互相学习。

  这就是本文关于在元素步骤组件的另一侧添加时间线显示的内容。请搜索我们以前的文章或继续浏览下面的相关文章,了解更多元素时间线显示的相关内容。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: