element UI改写时间线组件为左右分布

2023.12.4今天我学习了如何使用element的时间线组件,效果如:

代码如下:(关键代码 v-if="item.send_type")判断左右分布情况。因为如果没有这个判断的话,其实会两边都有显示。可以用一个判断表示0显示收信人,1显示发信人。

<template>
            <div class="h-100 p-r" id="scroll-container">
            <!--            <span style="color: gray">历史消息:</span>-->
            <div class="timelineBox">
              <el-timeline>
                <el-timeline-item v-for="(item, index) in history_data" :key="index" :color="item.color">
                  <div v-if="item.send_type==2" class="evenDiv">
                    <div class="timelinItemBox0">
                      <div class="timelinItemBox-top f-r a-c" style="background-color:#21A0AD">
                        <span>{{ item.name }}</span>
                      </div>
                      <div class="timelinItemBox-bottom">
                        <div>
                          <span style="letter-spacing: 2px">{{ item.content }}</span>
                        </div>
                        <span style="float: left;color: gray;margin-top: 1%">{{ item.created_time }}</span>

                      </div>

                    </div>
                    <div class="timelinItemBox1">
                      <div class="timelinItemBox-top f-r a-c" style="color: transparent">
                        <div>发送时间:{{ item.created_time }}</div>
                        <div class="m-l20">姓名:{{ item.name }}</div>
                      </div>
                      <div class="timelinItemBox-bottom">
                        <span style="color: transparent">信息:{{ item.content }}</span>
                      </div>
                    </div>
                  </div>

                  <div v-else class="unevenDiv">
                    <div class="timelinItemBox0">
                      <div class="timelinItemBox-top f-r a-c">
                        <div class="m-l20" style="color: transparent">姓名:{{ item.name }}</div>
                      </div>
                      <div class="timelinItemBox-bottom">
                        <span style="color: transparent">信息:{{ item.content }}</span>
                      </div>

                    </div>
                    <div class="timelinItemBox1">
                      <div class="timelinItemBox-top f-r a-c" style="background-color:#507CBE">
                        <div class="m-l20">{{ item.name }}</div>
                      </div>
                      <div class="timelinItemBox-bottom">
                        <span style="letter-spacing: 2px">{{ item.content }}</span>
                      </div>
                      <span :style="item.read==0?{color:'red',float: 'left'}:{color:'green',float: 'left'}"
                      >{{ item.read == '0' ? '未读' : '已读' }}</span>
                      <span style="float: right;color: gray;margin-top: 1%">{{ item.created_time }}</span>
                    </div>
                  </div>
                </el-timeline-item>
              </el-timeline>
            </div>
          </div>
</template>
<script>
export default{
  data(){
    return:{
       history_data:[
    {name:'张三',send_type:1,content:'发送1',read:1,create_time:'2023-12-04'},
    {name:'李四',send_type:2,content:'接收1',read:1,create_time:'2023-12-04'},
    {name:'张三',send_type:1,content:'发送2',read:1,create_time:'2023-12-04'},
    {name:'李四',send_type:2,content:'接收2',read:0,create_time:'2023-12-04'},
]
     }
   },
   created(){
     this.getList()
   },
   methods:{
     getList(){
        //设置这个可以自动将滚轮滑倒最底下
        this.$nextTick(() => {
          let scrollContainer = document.getElementById('scroll-container')
          scrollContainer.scrollTop = scrollContainer.scrollHeight
        })
     }
   }
 }
</script>
<style>
.h-100 {
  height: 50vh;
  border-right: 1px solid #bdbdbd;
  border-left: 1px solid #bdbdbd;
  border-top: 1px solid #bdbdbd;
  overflow-y: scroll;
}

.p-r {
  position: relative;
}

.f-r {
  flex-direction: row;
}

.a-c {
  align-content: center;
  align-items: center;
}

.m-l20 {
}

.timelineBox {
  position: absolute;
  left: 45%;
  width: 45%;

  .el-timeline-item {
  }

}

.timelinItemBox0 {
  width: calc(100%);
  height: calc(100%);
  position: absolute;
  right: calc(100% + 18px);
  border: 1px solid #dedede;
  border-radius: 5px;
}

.timelinItemBox1 {
  height: calc(100%);
  width: calc(100%);
  margin-left: 28px;
  border: 1px solid #dedede;
  border-radius: 5px;
}

.timelinItemBox-top {
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 2px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  color: #ffffff;
}

.timelinItemBox-bottom {
  color: #606266;
  height: 100%;
  //letter-spacing: 2px;
  white-space: pre-line;
  padding: 5px;
}

.evenDiv {

  .timelinItemBox1 {
    border: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    user-select: none;

    .timelinItemBox-bottom {
      color: transparent;
    }

  }
}

.unevenDiv {

  .timelinItemBox0 {
    border: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    user-select: none;

    .timelinItemBox-bottom {
      color: transparent;
    }

  }
}

</style>

转载:改写elemen时间线组件,让其左右分布显示_时间线 组件-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/226232.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenEuler_22.03升级mongdb到7.0.4

使用命令&#xff1a;lscpu&#xff0c;查看cpu架构为aarch64为arm架构的一种执行状态。 所以我们直接下载arm的包安装即可。无需自己编译源码。 下载地址&#xff1a;https://www.mongodb.com/try/download/community 下载解压 wget https://fastdl.mongodb.org/linux/mong…

使用腾讯逆地理位置编码获取地理位置信息

文章目录 前言一、代码二、开放平台操作步骤1.开发者认证2.创建应用 总结 前言 最近项目中一个发帖的功能需要获取当前用户的发帖位置&#xff0c;由于是在APP内部使用&#xff0c;而且APP是使用uniApp开发的&#xff0c;所以在使用开放平台的SDK选用上有些麻烦&#xff0c;有…

echarts环形饼图

效果示例 代码汇总 pieCharts() {let data [];const providerResult [{name: 智诺, value: 23},{name: 海康, value: 5},{name: 大华, value: 5}, {name: 云科, value: 23},{name: 四信, value: 22},{name: 九物, value: 22}]let charts echarts.init(document.getElemen…

11K+ Star!图解计算机网络、操作系统、计算机组成、数据库!

大家好&#xff0c;我是 Java陈序员。 俗话说得好&#xff0c;面试造火箭&#xff0c;入职拧螺丝。我们在工作中&#xff0c;其实很少用到一些计算机底层知识&#xff0c;往往只要编码完事。但是&#xff0c;知其然还要知其所以然&#xff0c;我们不仅要做一个合格的“CV 工程…

Vector Quantized Diffusion Model for Text-to-Image Synthesis

Vector Quantized Diffusion Model for Text-to-Image Synthesis Shuyang Gu, University of Science and Technology of China, Microsoft, CVPR2022, Cited: 340, Code, Paper 1. 前言 我们提出了用于文本到图像生成的矢量量化扩散(Vector Quantized Diffusion Model&…

JavaScript如何实现按键音效、视频播放,标签分类切换横向滚动

1.使用HTML5的audio标签 &#xff08;音频播放&#xff09; <audio id"click-sound"><source src"audio/show.mp3" type"audio/mpeg"> </audio> <button id"button">按钮</button> var clickSound d…

北京市经信局局长姜广智带队调研三六零 强调大模型应与行业结合

12月6日&#xff0c;北京市经济和信息化局局长姜广智、副局长王磊带队走访调研三六零集团&#xff0c;就共促城市级数字安全基础设施项目落地&#xff0c;打造引领行业发展标杆项目&#xff0c;推动大模型落地应用赋能产业、行业发展等话题进行交流。360集团创始人周鸿祎接待来…

【FPGA】Quartus18.1打包封装网表文件(.qxp)详细教程

当我们在做项目的过程中&#xff0c;编写的底层Verilog代码不想交给甲方时怎么办呢&#xff1f;此时可以将源代码打包封装成网表文件&#xff08;.qxp&#xff09;进行加密&#xff0c;并且在工程中进行调用。 Quartus II的.qxp文件为QuartusII Exported Partition&#xff0c;…

探索 Linux Namespace:Docker 隔离的神奇背后

来自&#xff1a;探索云原生 https://www.lixueduan.com 原文&#xff1a;https://www.lixueduan.com/posts/docker/03-container-core/ 在 深入理解 Docker 核心原理&#xff1a;Namespace、Cgroups 和 Rootfs 一文中我们分析了 Docker 是由三大核心技术实现的。 今天就一起分…

C++多态(详解)

一、多态的概念 1.1、多态的概念 多态&#xff1a;多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 举个例子&#xff1a;比如买票这个行为&#xff0c;当普通人买票时&#xff0c;是全价买票&#xff1b;学生买票时&am…

【离散数学】——期末刷题题库(等价关系与划分)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

漏洞复现-速达软件全系产品存在任意文件上传漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

12/07

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//设置面板框this->resize(1000,580); //设置尺寸大小this->setFixedSize(1000,580); //固定尺寸大小this->setWindowFlag(Qt::Frameles…

XC4060 40V降5V/3.3V 0.6A小电流高耐压芯片 适用于单片机供电输出、电池供电设备

XC4060器件是高效率&#xff0c;同步降压DC/DC稳压器。具有较宽的输入范围&#xff0c;它们适用于广泛的应用&#xff0c;例如来自非稳压源的功率调节。他们的特点是一个长距离(500mQ/300mQ2型) 内部开关的效率最高 (92%)。Sum od (非A选项)和PWM模式(A选项)&#xff0c;工作频…

IDEA maven无法下载源代码处理

1、使用idea内置maven 在idea中新增一个mvn运行项,截图如下: 输入命令: dependency:resolve -Dclassifiersources 2、如果外部maven&#xff0c;不使用idea内部maven 在工程目录下命令行执行命令: mvn dependency:resolve -Dclassifiersources

simulink中 Data store memory、write和read模块及案例介绍

目录 1.Data store memory模块 2.data store write模块 3.data store read模块 4.仿真分析 4.1简单使用三个模块 4.2 模块间的调用顺序剖析 1.Data store memory模块 向右拖拉得到Data store read模块&#xff0c;向左拉得到Data write模块 理解&#xff1a;可视为定义变量…

C++ 函数详解

目录 函数概述 函数的分类 函数的参数 函数的调用 函数的嵌套调用 函数的链式访问 函数声明和定义 函数递归 函数概述 函数——具有某种功能的代码块。 一个程序中我们经常会用到某种功能&#xff0c;如两数相加&#xff0c;如果每次都在需要用到时实现&#xff0c;那…

有了安卓模拟器,就能在Windows 10或11上像使用安卓操作系统一样使用安卓

你可以使用Android模拟器在Windows 11或Windows 10中运行Android应用程序。如果你喜欢的应用程序只在手机上运行,但你想在电脑上使用,这些模拟器会很有用。 BlueStacks 与整个操作系统模拟器不同,BlueStacks只在Windows上模拟Android应用程序。它真的很容易使用,所以你不需…

JVM虚拟机(已整理,已废弃)

# JVM组成 ## 简述程序计数器 线程私有&#xff0c;内部保存class字节码的行号。用于记录正在执行的字节码指令的地址。 线程私有-每个线程都有自己的程序计数器PC&#xff0c;用于记录当前线程执行哪个行号 ## 简述堆 ## 简述虚拟机栈 ## 简述堆栈区别 ## 方法内局部变量是…

高校需要哪些大数据实训平台?

当前&#xff0c;数据已成为重要的生产要素&#xff0c;大数据产业作为以数据生成、采集、存储、加工、分析、服务为主的战略性新兴产业&#xff0c;是激活数据要素潜能的关键支撑&#xff0c;是加快经济社会发展质量变革、效率变革、动力变革的重要引擎。 泰迪大数据实验…