位置: IT常识 - 正文

vue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码(vue3怎么用)

编辑:rootadmin
vue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码 背景

推荐整理分享vue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码(vue3怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3中的watch怎么用,vue的watch方法,vue3 技巧,vue3怎么写,vue3怎么写,vue实现表格,vue3如何实现表格的搜索功能,vue3如何实现表格的搜索功能,内容如对您有帮助,希望把文章链接给更多的朋友!

近期在开发可视化大屏项目,除去各种echarts图表和地图展示之外还有多个表格。现在来了一个需求,需要将大屏中的所有表格设置为内容无缝滚动。 本着程序员的七宗罪原则第一时间推脱了一下,但没推脱成功。

简单的在网上查了下适合我们项目的有两种方案,第一种是使用一款插件 vue3-seamless-scroll第二种方案是自己写JS代码通过计时器去控制表格滚动条自动滚动方案一

从实际开发上考虑使用如果有类似功能开箱即用没什么问题的插件当然是最好不过的,能提高不少工作效率达到准时下班的目的

vue3-seamless-scroll(点击进入官方文档)

根据插件描述说是目前组件支持上下左右无缝滚动,单步滚动,并且支持复杂图标的无缝滚动,支持平台与Vue3.0支持平台一致。

安装npmnpm install vue3-seamless-scroll --saveyarnyarn add vue3-seamless-scrollbrowser<script src="https://unpkg.com/browse/vue3-seamless-scroll@1.0.2/dist/vue3-seamless-scroll.min.js"></script>配置list

无缝滚动列表数据,组件内部使用列表长度。 type: Array required: true

v-model

通过v-model控制动画滚动与停止,默认开始滚动 type: Boolean default: true required: false

direction

控制滚动方向,可选值up,down,left,right type: String default: “up” required: false

isWatch

开启数据更新监听 type: Boolean, default: true, required: false

hover

是否开启鼠标悬停 type: Boolean default: false required: false

count

动画循环次数,默认无限循环 type: Number default: “infinite” required: false

limitScrollNum

开启滚动的数据量,只有列表长度大于等于该值才会滚动 type: Number, default: 5, required: false

step

步进速度 type: Number, required: false

singleHeightvue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码(vue3怎么用)

单步运动停止的高度 type: Number, default: 0, required: false

singleWidth

单步运动停止的宽度 type: Number, default: 0, required: false

singleWaitTime

单步停止等待时间(默认值 1000ms) type: Number, default: 1000, required: false

isRemUnit

singleHeight and singleWidth 是否开启 rem 度量 type: Boolean default: true required: false

delay

动画延时时间 type: Number, default: 0, required: false

ease

动画效果,可以传入贝塞尔曲线数值 type: String | cubic-bezier, default: “ease-in”, required: false

copyNum

拷贝列表次数,默认拷贝一次,当父级高度大于列表渲染高度的两倍时可以通过该参数控制拷贝列表次数达到无缝滚动效果 type: Number default: 1 required: false

wheel

在开启鼠标悬停的情况下是否开启滚轮滚动,默认不开启 type: boolean default: false required: false

singleLine

启用单行横向滚动 type: boolean default: false required: false

使用1. 注册组件全局注册// **main.js**import { createApp } from 'vue';import App from './App.vue';import vue3SeamlessScroll from "vue3-seamless-scroll";const app = createApp(App);app.use(vue3SeamlessScroll);app.mount('#app');单文件注册<script> import { defineComponent } from "vue"; import { Vue3SeamlessScroll } from "vue3-seamless-scroll"; export default defineComponent({ components: { Vue3SeamlessScroll } })</script>2. 使用组件

我们这里是需要表格内容滚动,直接使用组件包裹表格会让表格的表头一起跟着滚走了,所以使用上有一点小改动 需要将表格代码再复制一份,第一份代码修改css代码将表格的body部分隐藏,第二份代码用组件包裹,并将其表头部分隐藏;

<template> <div class="container"> <el-table class="top-table" :data="tableData" border style="width: 100%;"> <el-table-column prop="type" label="类型" width="120" /> <el-table-column prop="name" label="姓名" /> <el-table-column prop="content" label="内容" /> </el-table> <vue3-seamless-scroll class="seamless" :list="tableData" :hover="true" :step="0.4" :wheel="true" :isWatch="true"> <el-table class="bottom-table" :data="tableData" border style="width: 100%;"> <el-table-column prop="type" label="类型" width="120" /> <el-table-column prop="name" label="姓名" /> <el-table-column prop="content" label="内容" /> </el-table> </vue3-seamless-scroll> </div></template><script lang="ts" setup>import { ref } from 'vue'const tableData: any = ref([])const getData = () => { for (let i = 0; i < 6; i++) { tableData.value.push({ type: `家常菜${i + 1}`, name: `洋茄子炒鸡蛋${i + 1}`, content: `多情键客无情键${i + 1}` }) }}getData()</script><style scoped>.container { width: 500px; height: 300px;}.seamless { width: 100%; height: 220px; overflow: hidden;}:deep .top-table .el-table__body-wrapper { display: none;}:deep .bottom-table .el-table__header-wrapper { display: none; width: 100%;}</style>

这样看效果是不是还行,但是,还有问题,上面示例中我们只造了6条数据,但实际我们项目中表格单页有50条左右数据,那改成50条数据看一下效果

这个插件给它用于表格内容滚动已经做出部分改动了,现在想要达到我们想要的效果还要去做更多的改动,这针对我们现在的需求不能直接开箱即用,到这里我就直接放弃这个方案,如何达到我们想要的效果就放到后面有空的时候再看看,目前还是以工作效率为主。当然如果各位有谁研究好了欢迎私信我,没有奖励只想看看。

方案二

方案二就是直接操作滚动条设置一个计时器让它自己滚动,这个就是比较简单的前端的基本功

思路

我们只需要

本文链接地址:https://www.jiuchutong.com/zhishi/287970.html 转载请保留说明!

上一篇:Chateau de Castelnaud in Perigord, France (© Peter Adams/Offset by Shutterstock)

下一篇:css解决uniapp使用image标签图片无法撑满全屏问题(uniapp的css库)

  • 怎么使用电脑浏览器扩展程序保存无水印视频(怎么用电脑端浏览器打开)

    怎么使用电脑浏览器扩展程序保存无水印视频(怎么用电脑端浏览器打开)

  • 哔哩哔哩年度报告怎么看呢(哔哩哔哩年度报告怎么删除)

    哔哩哔哩年度报告怎么看呢(哔哩哔哩年度报告怎么删除)

  • 荣耀x10和红米10x的区别有哪些(荣耀X10和红米note11TPor哪个好)

    荣耀x10和红米10x的区别有哪些(荣耀X10和红米note11TPor哪个好)

  • 我的快手没有小黄车是什么原因(快手怎么没有小功能了)

    我的快手没有小黄车是什么原因(快手怎么没有小功能了)

  • 淘宝上的付款人数多少时间更新一次(淘宝上的付款人数真实吗)

    淘宝上的付款人数多少时间更新一次(淘宝上的付款人数真实吗)

  • 抖音字幕不能用哪些字(抖音字幕不能用哪些字中医养生)

    抖音字幕不能用哪些字(抖音字幕不能用哪些字中医养生)

  • 抖音号作废了必须要换手机吗(抖音号作废了是什么意思)

    抖音号作废了必须要换手机吗(抖音号作废了是什么意思)

  • 华为skt-al00什么型号(华为sktal00什么型号多少钱)

    华为skt-al00什么型号(华为sktal00什么型号多少钱)

  • 微信能不能隐藏好友又可以正常联系的方法(微信能不能隐藏群聊)

    微信能不能隐藏好友又可以正常联系的方法(微信能不能隐藏群聊)

  • 情景智能是什么意思(情景智能下载最新版本)

    情景智能是什么意思(情景智能下载最新版本)

  • qq连麦有办法录音吗(qq连麦有办法录屏吗)

    qq连麦有办法录音吗(qq连麦有办法录屏吗)

  • 一个卡贴只能用一张卡吗(卡贴机一个卡贴只能用一个号码吗)

    一个卡贴只能用一张卡吗(卡贴机一个卡贴只能用一个号码吗)

  • 手机最大内存是多少GB(手机最大内存是什么牌子)

    手机最大内存是多少GB(手机最大内存是什么牌子)

  • gw格式是什么软件(gxw是什么格式)

    gw格式是什么软件(gxw是什么格式)

  • 苹果手机开不开机怎么办(苹果手机开不开机一直白苹果黑屏)

    苹果手机开不开机怎么办(苹果手机开不开机一直白苹果黑屏)

  • 天猫所有榜单在哪里看(天猫榜单在哪看)

    天猫所有榜单在哪里看(天猫榜单在哪看)

  • 苹果x摄像头是啥牌子(苹果x摄像头是索尼什么型号)

    苹果x摄像头是啥牌子(苹果x摄像头是索尼什么型号)

  • 华为智慧屏存储是多少(华为智慧屏存储在哪)

    华为智慧屏存储是多少(华为智慧屏存储在哪)

  • 设置窗口透明度(win10窗口透明度调节)

    设置窗口透明度(win10窗口透明度调节)

  • 希尔薇屏幕怎么缩小

    希尔薇屏幕怎么缩小

  • qq安装权限设置在哪里(qq安装权限设置在哪里设置)

    qq安装权限设置在哪里(qq安装权限设置在哪里设置)

  • 安卓手机qq启动失败怎么办(安卓4.4.4qq启动失败)

    安卓手机qq启动失败怎么办(安卓4.4.4qq启动失败)

  • airpods一代和二代区别(airpods一代和二代大小一样吗)

    airpods一代和二代区别(airpods一代和二代大小一样吗)

  • Go分布式爬虫笔记(五)(分布式网络爬虫)

    Go分布式爬虫笔记(五)(分布式网络爬虫)

  • 公司间借款利息增值税进项能否抵扣
  • 支付给职工以及为职工支付的现金包括哪些
  • 个人所得税汇算表
  • 网上增值税申报表怎么填
  • 个体工商户生产经营所得怎么申报
  • 借入款项的来源包括哪三个
  • 基本存款账户能向银行借款吗
  • 电子发票如何打印清单明细
  • 企业拆迁补偿款需要开发票吗
  • 防暑降温费可以用工会经费吗
  • 增值税普通发票和专用发票有什么区别
  • 年底员工聚餐
  • 计提了坏账准备对利润的影响
  • 火车票抵扣进项税额怎么申报
  • 房地产开发企业资质管理规定
  • 个人承担的社保费用算在员工工资里吗?
  • 企业所得税季报人数怎么填
  • 个税在发工资的时候直接扣下来吗
  • 个体户和有限公司哪个税收低
  • 处理废料会计分录
  • 电脑开机无法启动怎么解决
  • linux禁止ip访问80端口
  • win10开发工具在哪
  • php html5
  • 建筑业总产值和营业收入相等吗?
  • 月末结转本年利润怎么算
  • 企业年金基金收支情况
  • 增值税发票月度统计
  • 企业会计准则条文释义与案例详解
  • 旅客运输进项抵扣税率
  • 2023年中国会有什么重大事件
  • 下载下来是php
  • php递归函数桃子一天吃一半
  • 减资资产负债表怎么填
  • 假发票如何举报
  • 航天金税盘维护费什么时候交
  • 收入的确认规则
  • 购买黄金会计分录怎么写
  • php cms
  • mongodb安装教程图解
  • mysql显示数据库语句
  • 技术转让和技术开发区别
  • 差旅补助要计入成本吗
  • 收到增值税发票月饼
  • 固定资产的核算内容包括
  • 房产增值税发票可以抵税吗
  • 生产过程中报废怎么核算成本
  • 为什么车船税没有发票
  • 应付票据是
  • 绿化工程苗木成活率交工标准
  • 个人所得税财产转让所得税率
  • 从政府取得土地使用权缴增值税吗
  • 存货跌价准备转回和转销的区别
  • 住宿费记入成本会计分录
  • 上月留抵税怎么算应纳税额
  • 无工资支出企业账务处理
  • mysql存储过程判断输入判断类型
  • linux日常使用
  • 金山卫士电脑版
  • xp系统运行在哪
  • centos怎么设置
  • window10桌面日历
  • Windows命令行删除文件夹
  • adobe骨骼动画
  • unity shader lerp
  • 怎么用javascript
  • android:LruCache缓存小结
  • 浅谈特殊儿童的融合教育论文
  • android fragmentation
  • android webview获取文本
  • 公认的经典
  • android 开源框架
  • 吉林网上报税网址
  • 当期免抵退税不得免征和抵扣税额公式
  • 运输服务费税率9%还是6%
  • 个人所得税缴纳怎么申报流程
  • 南京税务举报
  • 一个人可以申请
  • 全国增值税发票查验平台官网手机
  • 审计的起源和发展史
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设