vue+elementUI实现点击左右箭头切换按钮功能

news/2024/11/17 9:56:21/

原本是可以用el-tabs做的,就像下面的样式,但是领导说不行

最后用button和element里面的el-carousel(走马灯)结合了一下

长这样  感觉还不错 可以自己改样式


 

代码如下:

        <div class="drawer-carousel"><el-carousel arrow="always" :loop="false" :initial-index="0" indicator-position="none" :autoplay="false"height="60px" :items-per-page="6"><el-carousel-item v-for="(group, index) in Math.ceil(tabs.length / 6)" :key="index"><div class="button-group"><el-button v-for="(tab, tabIndex) in tabs.slice(index * 6, (index + 1) * 6)" :key="tabIndex"@click="handleClickReport(tab.reportCoreId)" size="medium"><el-tooltip :content="tab.reportCoreName" :disabled="isShowTooltip" :open-delay="100" placement="top"effect="light"><span class="span-ellipsis" @mouseover="mouseOver($event)">{{ tab.reportCoreName }}</span></el-tooltip></el-button></div></el-carousel-item></el-carousel></div>

 

解释一下

  • arrow="always" 显示左右箭头,loop="false" 表示不循环滚动,indicator-position="none" 表示不显示指示器,:autoplay="false" 表示不自动播放,height="60px" 设置 Carousel 的高度,:items-per-page="6" 表示每页显示6个按钮。

  • <el-carousel-item>:这是 Carousel 的每一页,  用 v-for 循环来生成足够的 Carousel 页面,存放所有的按钮。Math.ceil(tabs.length / 6) 计算出需要多少页,每页6个按钮。

  • <el-button>:用 v-for 循环来生成每一页中的6个按钮。用 tabs.slice(index * 6, (index + 1) * 6) 来选取每页6个按钮,确保在当前页面范围内显示正确的按钮。

一些css样式

  .drawer-carousel {padding: 10px 10px 0 0;position: relative;.button-group {margin: 0 20px 0 40px;white-space: nowrap;span {display: inline-block;width: 90px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}}} 
//按钮样式.el-carousel__arrow--left,.el-carousel__arrow--right {font-size: 30px;color: #1C1C1C;}.el-carousel__arrow--left {left: 0px;}.el-carousel__arrow--right {right: 0;}

如果放六个超出了,就设置一下button不换行  再给里面的文字设置超出显示省略号就好了


http://www.ppmy.cn/news/1446667.html

相关文章

【docker】Docker开启远程访问

将构建的镜像自动上传到服务器。 需要开放 Docker 的端口&#xff0c;让我们在本地能连接上服务器的 Docker&#xff0c;这样&#xff0c;才能上传构建的镜像给 Docker。 开启远程访问 首先在服务器打开 Docker 的服务文件 vim /usr/lib/systemd/system/docker.service修改…

【webrtc】MessageHandler 5: 基于线程的消息处理:以PeerConnection信令线程为例

peerconn的信令是通过post 消息到自己的信令线程消息来处理的PeerConnectionMessageHandler 是具体的处理器G:\CDN\rtcCli\m98\src\pc\peer_connection_message_handler.hMachinery for handling messages posted to oneself PeerConnectionMessageHandler 明确服务于 signalin…

开源、轻量、易用的服务器实时监控工具:哪吒探针

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 哪吒探针是一个开源、轻量、易用的服务器监控、运维工具&#xff0c;它有以下几个特点&#xff1a; 一键安装&#xff1a;可以一键安装面板与 Agent&#xff0c;并且支持 Linux、Windows、MacOS、OpenWRT…

【PyTorch与深度学习】1、PyTorch介绍与张量的创建

课程地址 最近做实验发现自己还是基础框架上掌握得不好&#xff0c;于是开始重学一遍PyTorch框架&#xff0c;这个是课程笔记 1. 张量Tensor 张量是一种特殊的数据结构&#xff0c;与数组和矩阵非常相似。在 PyTorch 中&#xff0c;我们使用张量对模型的输入和输出以及模型的…

nginx+Tomcat动静分离

本⽂的动静分离主要是通过nginxtomcat来实现&#xff0c;其中nginx处理图⽚、html等静态的⽂ 件&#xff0c;tomcat处理jsp、do等动态⽂件. 实验环境 192.168.200.133 nginx反向代理 192.168.200.129 static 192.168.200.130 dynamic 步骤 修改三台主机名 [rootadmin ~]#…

深入剖析Tomcat(五) 剖析Servlet容器并实现一个简易Context与Wrapper容器

上一章介绍了Tomcat的默认连接器&#xff0c;后续程序都会使用默认连接器。前面有讲过Catalina容器的两大块内容就是连接器与Servlet容器。不同于第二章的自定义丐版Servlet容器&#xff0c;这一章就来探讨下Catalina中的真正的Servlet容器究竟长啥样。 四种容器 在Catalina中…

【Linux】中的进程(PCB)详解及查看方法

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

安卓手机APP开发__媒体开发部分__媒体投屏

安卓手机APP开发__媒体开发部分__媒体投屏 目录 概述 三个显示的表示形式 真实显示 虚拟显示 表面 前端服务的权限 概述 在安卓5&#xff08;API级别21&#xff09;引入的API android.media.projection 让你能够能够捕捉 到一个显示设备的内容&#xff0c;把它作为一个…